首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

小弟急求,为什么sizeof('\n')的结果是4啊解决方案

2012-04-16 
小弟急求,为什么sizeof(\n)的结果是4啊?如题,sizeof(\n)的结果是4,却不是1,这是为什么?一个字符不是占

小弟急求,为什么sizeof('\n')的结果是4啊?
如题,sizeof('\n')的结果是4,却不是1,这是为什么?一个字符不是占用一个字节吗?有哪位大哥知道答案,小弟急求,万分感激!

[解决办法]
这和程序设计语言有关,c++的话是1,c的话是4
[解决办法]
我想,应该是编译器把'\n'当作一个整数常量来处理的. 我用gcc的测试结果是这样的:
char c;
printf("%d,%d,%d\n",sizeof((char)'\n'), sizeof((int)c),sizeof(0));
结果为:
1,4,4
将sizeof('\n') 强制转换为sizeof((char)'\n')后就成了1

热点排行