C语言中整型变量与字符型变量是否在任何情况下都可以互相代替?

2024-12-05 07:51:21
推荐回答(3个)
回答1:

字符型转换成整型基本没什么问题,但反过来就可能会出问题了。因为在C语言中,整型一般是两个字节(int型两个,long型4个,short
int型一个),字符型为一个字节(无符号的为两个),一个字节转两个没问题,两个转一个就可能出现溢出问题。比如
char
a=255,就会溢出,因为a表达的范围只是-128~127

回答2:

有时会出错,因为它们的范围不一样,在vc++6.0中整型占4个字节而字符型只占一个字节,当把字符型当整型时没问题。当把大于255的整型用作字符型时就有问题。

回答3:

%d与%c中间没有空格,也是可以输出ch的。只要输入的时候中间没有空格即可。
例如输入10c
则输出c
没有问题的。
除非你代码写的:scanf("%d%c",&a,&ch);
但是输入的时候整数和字符之间输入了空格。