C语言问题 char[5]=“china” 它的字符长度是5还是6?所占字节是5还是6?
答案:4 悬赏:0
解决时间 2021-02-28 10:09
- 提问者网友:我们很暧昧
- 2021-02-27 21:24
C语言问题 char[5]=“china” 它的字符长度是5还是6?所占字节是5还是6?
最佳答案
- 二级知识专家网友:duile
- 2021-02-27 22:17
你这样写,在vc6中可能没有错,但是,vc6是很不标准的。。。
在vs2010中是肯定不能这么写的,因为越界了。
你必须这么写
char[6] = "china"
在内存中是这样存储的
c h i n a \0
最后一位要保存\0;
它的字符长度是5,
占用6个字符。
在vs2010中是肯定不能这么写的,因为越界了。
你必须这么写
char[6] = "china"
在内存中是这样存储的
c h i n a \0
最后一位要保存\0;
它的字符长度是5,
占用6个字符。
全部回答
- 1楼网友:佘樂
- 2021-02-28 01:52
字符长度是5,不包括'\0',空字符
字节大小就是数组定义的大小
在你这个数组中,所占字节也是5,因为,你数组定义的就是这么大,没给空字符留空间
字节大小就是数组定义的大小
在你这个数组中,所占字节也是5,因为,你数组定义的就是这么大,没给空字符留空间
- 2楼网友:往事埋风中
- 2021-02-28 01:13
char s[5],系统仅分配5个字符空间,用"china"来初始化这个字符数组是有风险的,C语言规定,预留的空间必须考虑串结束符'\0',在VC++ 6.0环境下,编译错误信息是,error C2117: 'china' : array bounds overflow,直译是数组边界溢出,也就是说,初始化串太长,超出预留空间了。
- 3楼网友:胯下狙击手
- 2021-02-27 23:54
strlen未知
所占字节是5追问没有\n么追答没有\0
所占字节是5追问没有\n么追答没有\0
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯