- char ch1 = 'a';
- printf("字节:%ld\n",sizeof(ch1)); //字节:1
复制代码
这里字符常量长度为1,这个没有什么异议吧!
- printf("字节:%ld\n",sizeof('a')); //字节:4
复制代码
这里,打印的长度为4,那是因为'a'就是ASCII码的97,这里XCode编译器把'a'理解为了97,是int类型,所以长度为4
- printf("a'length=%ld\n",sizeof((char)'a'));
复制代码
如果想打印为字符的长度,可强制转换一下,打印出来,字节:1
备注:不同编译器结果不同,C++编译器,下面的打印结果仍是1,那是因为C++编译器认为'a'是字符常量,XCode编译器认为'a'为整形常量97 |