在给字符数组初始化时,按顺序初始化,数组长度为什么可以等于字符数?在用字符串时为什么不可以?
答案:2 悬赏:0
解决时间 2021-03-06 02:20
- 提问者网友:挣扎重来
- 2021-03-05 21:30
在给字符数组初始化时,按顺序初始化,数组长度为什么可以等于字符数?在用字符串时为什么不可以?
最佳答案
- 二级知识专家网友:寂寞的炫耀
- 2021-03-05 21:42
您好,这是因为字符串对应的字符数组必然以'\0'来结尾,即字符串char str[]="abcd"的长度是5,他的元素分别是str[0]="a" str[1]="b" str[2]="c" str[3]="d" str[5]="\0" 希望帮到你
全部回答
- 1楼网友:哥在撩妹请勿打扰
- 2021-03-05 21:56
空格算字符的,不过你写的是空字符。。既然空格算字符了(空字符也占一个空间) 那么有十二个字母就越界了。。。
这样的初始化是合法的 不过一定不要超过设置的最大长度。。。
如果不等于而是小于 那么剩下的就是随机的。。。
如果首先不设置限制的话,那么系统会自动统计个数。。
就是这样也可以char str2[]={‘a’,' ',‘b’,‘c’,‘d’,‘e’,‘f’,‘g’,‘h’,‘i’,‘j’,‘k’,‘l’};
楼上说的结束符不加也是可以的,只是为了输出等用途的时候,可以不用考虑数组长度
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯