+ -
当前位置:首页 → 问答吧 → 0 和 ' \0' 两个常量的类型和值都相同吗

0 和 ' \0' 两个常量的类型和值都相同吗

时间:2010-08-25

来源:互联网

<  printf("%u %u\n", sizeof(0), sizeof('\0'));

> 4 4

大家帮我确认一下

作者: liangzhishao   发布时间: 2010-08-25

第二个4确实挺奇怪的,又被强转为Int了,你可以这样(char)‘\0’,就为1了。再说了,程序中不可能用到sizeof(0)这种,只应该有sizeof(int)

作者: lpy_222   发布时间: 2010-08-25

0,字面值常量,是int类型的~

'\0',字符常量,应该也是int类型的(不确定,没找到说明)~

作者: efolzl   发布时间: 2010-08-25

似乎以前讨论过,C和C++处理不同

作者: hellioncu   发布时间: 2010-08-25

'\0'字符字面量,C中为int ,C++中为char

作者: liwangli1983   发布时间: 2010-08-25

其实0和'\0'的值相同,都是0,不信,直接打印出来看看就知道了
printf("%d\n%d\n",0,'\0');

作者: zhuqing_739   发布时间: 2010-08-25