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

sizeof中空字符'\0'有关问题

2013-04-20 
sizeof中空字符'\0'问题在看sizeof时遇到这样一个问题,char s1[]a\0bcint n1sizeof(s1)//

sizeof中空字符'\0'问题
在看sizeof时遇到这样一个问题,
char s1[]="a\0bc";
int n1=sizeof(s1);//结果为5(是因为空字符字符'a'和'b'中的'\0'占一个字节吗?)
如果
char s2[]="a\01bc";
char s3[]="a\016bc";
int n2=sizeof(s2);
int n3=sizeof(s3);//为什么n2、n3结果还是5??

char s4[]="a\0167bc";
int  n4=sizeof(s4);//为什么n4此时结果是6??
sizeof的原理我知道,但这种情况下的存储我就糊涂了,求指导!
[解决办法]
s1 a \0 b c \0
s2 a \01 b c \0
s3 a \016 b c \0
s4 a \016 7 b c \0

转义符后面接0开头的数字表示这是一个8进制数,后面最多接2个数字(3个就超过char的容纳范围了)

热点排行