我的函数应该在屏幕上列出 char 数组的所有元素。但如果阵列完成,它应该停止。数组的大小是可变的。我认为数组以'\0' 结尾。所以我这样做了:
for(int i=0; i< size; i++){
if(word[i] != '\0')
cout<< word[i];
}
但程序并不止于此。它会创建一些随机符号。
例如字符数[] = "0123"
该程序给出:0123§&
我的 if 条件有什么问题?
最佳答案
问题是您的代码在遇到'\0'
时不会停止,它只是不打印'\0'
并继续。
尝试改变你的 for 循环条件
for(int i=0; word[i] != '\0'; i++){
cout<< word[i];
}
如果你只想打印它,一个简单的
cout<<word;
就够了
关于c++ - 使用 '\0' 作为比较操作数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47759126/