C语言问题 char[5]=“china” 它的字符长度是5还是6?所占字节是5还是6?
答案:5 悬赏:0 手机版
解决时间 2021-02-20 13:30
- 提问者网友:不要迷恋哥
- 2021-02-19 15:35
C语言问题 char[5]=“china” 它的字符长度是5还是6?所占字节是5还是6?
最佳答案
- 五星知识达人网友:零点过十分
- 2021-02-19 16:26
你这样写,在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-19 21:31
strlen未知
所占字节是5
- 2楼网友:你哪知我潦倒为你
- 2021-02-19 20:58
char s[5],系统仅分配5个字符空间,用"china"来初始化这个字符数组是有风险的,C语言规定,预留的空间必须考虑串结束符'\0',在VC++ 6.0环境下,编译错误信息是,error C2117: 'china' : array bounds overflow,直译是数组边界溢出,也就是说,初始化串太长,超出预留空间了。
- 3楼网友:归鹤鸣
- 2021-02-19 19:36
字符长度是5,不包括'\0',空字符
字节大小就是数组定义的大小
在你这个数组中,所占字节也是5,因为,你数组定义的就是这么大,没给空字符留空间
- 4楼网友:毛毛
- 2021-02-19 18:02
使用下列程序,可以判断出你当前编译器所支持的对数据类型的字节数
void main(void)
{
printf("double: %d\n",sizeof(double));
printf("char: %d\n",sizeof(char));
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯