使用'\ 0'作为比较操作数

时间:2017-12-11 18:29:50

标签: c++ arrays

我的函数应列出屏幕上char数组的所有元素。但是如果阵列完成它应该停止。数组的大小是可变的。我以为数组以'\ 0'结尾。所以我这样做了:

for(int i=0; i< size; i++){
    if(word[i] != '\0')
        cout<< word[i];
}

但该计划并未止步于此。它会创建一些随机符号。

E.g。 char number [] =“0123”
     该计划给出:0123§&amp;

我的if条件出了什么问题?

1 个答案:

答案 0 :(得分:5)

问题是您的代码在遇到'\0'时不会停止,它只是不打印'\0'并继续。

尝试更改for循环条件

for(int i=0; word[i] != '\0'; i++){
    cout<< word[i];
}

如果您只是想打印它,那就简单了

cout<<word;

已经足够了