'a'没有类型,被看成了数值97(ascii),而vc默认整数类型为int,其实等于sizeof(int)=4
以下是引用kangmin在2010-12-9 21:59:27的发言:
printf("%d",sizeof 'a');
我运行的结果是4----------为什么??
printf("%d",sizeof "a");
我运行的结果是2—————为什么??
麻烦大大们解释下
在线等
我运行的结果是1,2printf("%d",sizeof 'a');
我运行的结果是4----------为什么??
printf("%d",sizeof "a");
我运行的结果是2—————为什么??
麻烦大大们解释下
在线等
这个好像个编译器有关,
我对这个结果是这样理解的,
sizeof ‘a’相当于sizeof(char)应为'a'是一个字符。
sizeof "a","a"被当成是是字符串(字符数组),而
一个数组所占的字节数和他定义有关,"a"这个数组的
缺省大小是1字节,再加上结束标志,一共就是两字节。
所以sizeof是2