请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

char数组长度问题

老师,我定义了一个char类型数组,长度为5,循环执行了17次,这是为什么呢?
代码:

char crr[] = { 'a','b','c','d','e' }; //crr长度为5
int len = 0;
while (*arr!='\0') {
	cout << *arr << ""; //输出:abcde烫烫烫烫烫
	arr++;
	len++;
}
cout<<len<<"\n";    //len=17

正在回答 回答被采纳积分+3

1回答

quickzhao 2022-11-05 00:08:37

你要清楚C语言数组定义的本质,这里数组定义的方式有问题,使用"abcde"或{'a','b','c','d','e','\0'} 这样的定义才能保证以'\0'作为结尾。你这样定义'\0'的位置是随机的,所以长度不是确定的。

2 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信