我的函数应列出屏幕上char数组的所有元素.但是如果阵列完成它应该停止.数组的大小是可变的.我以为数组以'\ 0'结尾.所以我这样做了:
for(int i=0; i< size; i++){
if(word[i] != '\0')
cout<< word[i];
}
Run Code Online (Sandbox Code Playgroud)
但该计划并不止于此.它会创建一些随机符号.
例如char number [] ="0123"
该程序给出:0123§&
我的if条件出了什么问题?
问题是你的代码遇到'\0'它时不会停止,它只是不打印'\0'并继续.
尝试更改for循环条件
for(int i=0; word[i] != '\0'; i++){
cout<< word[i];
}
Run Code Online (Sandbox Code Playgroud)
如果你只是想打印它,简单
cout<<word;
Run Code Online (Sandbox Code Playgroud)
本来就足够了