字符与整形转换问题?
#include "stdio.h"
main()
{char a,b;
a=1;
b='1';
printf("%c,%c",a,b);
}
分别输出多少?
为什么呢?格式控制符不都是%c么?都是按照字符输出的么?
不解
----------------解决方案--------------------------------------------------------
没有看明白你要说的什么意思??
你都定义了a,b 为char,输出也为字符,
那来的字符和整型的转换啊??
----------------解决方案--------------------------------------------------------
我就是这个意思,为什么输出格式是%c 但是最后输出的b值是1呢?
----------------解决方案--------------------------------------------------------
'1'和1
有什么区别?一个是整形一个是字符吧,但是都按照ascii码存储是不是可以认为就没区别?
----------------解决方案--------------------------------------------------------
a=1,这个1被认为是ASCII码
b='1',这个'1'被认为是字符
----------------解决方案--------------------------------------------------------
楼主,b的值的确是1,但这个1不是整型,而是字符型,它的ASCII码是49
----------------解决方案--------------------------------------------------------
a=1 中1存储在内存中还是以asc码存的吧? 也就是49?
a='1' 不也是 49么?
我把b用%d格式输出就输出了49.
----------------解决方案--------------------------------------------------------
为什么两个asc值一样的数用同样的格式输出却不一样呢?
----------------解决方案--------------------------------------------------------
你定义的是
char a,b;
a=1;
b='1';
而a=1 ,中的1 不是字符啊?
----------------解决方案--------------------------------------------------------
恼人呀!!!!!
----------------解决方案--------------------------------------------------------