字符型转换成整型基本没什么问题,但反过来就可能会出问题了。因为在C语言中,整型一般是两个字节(int型两个,long型4个,short
int型一个),字符型为一个字节(无符号的为两个),一个字节转两个没问题,两个转一个就可能出现溢出问题。比如
char
a=255,就会溢出,因为a表达的范围只是-128~127
有时会出错,因为它们的范围不一样,在vc++6.0中整型占4个字节而字符型只占一个字节,当把字符型当整型时没问题。当把大于255的整型用作字符型时就有问题。
%d与%c中间没有空格,也是可以输出ch的。只要输入的时候中间没有空格即可。
例如输入10c
则输出c
没有问题的。
除非你代码写的:scanf("%d%c",&a,&ch);
但是输入的时候整数和字符之间输入了空格。