我的函数应列出屏幕上char数组的所有元素。但是如果阵列完成它应该停止。数组的大小是可变的。我以为数组以'\ 0'结尾。所以我这样做了:
for(int i=0; i< size; i++){
if(word[i] != '\0')
cout<< word[i];
}
但该计划并未止步于此。它会创建一些随机符号。
E.g。 char number [] =“0123”
该计划给出:0123§&amp;
我的if条件出了什么问题?
答案 0 :(得分:5)
问题是您的代码在遇到'\0'
时不会停止,它只是不打印'\0'
并继续。
尝试更改for循环条件
for(int i=0; word[i] != '\0'; i++){
cout<< word[i];
}
如果您只是想打印它,那就简单了
cout<<word;
已经足够了