c++ - 使用 continue 无限循环

标签 c++ for-loop infinite-loop continue

我正在编写一个代码,它将遍历直方图中的每个 bin,并检查是否有任何非零 bin。如果有,它会抛出一条错误消息。我的问题是,我希望它跳过一个 bin,因为这个 bin 不应该是空的,而是检查所有其他 bin。

唯一的问题是这是在创建一个无限循环。这是我的代码

Int_t y;

for (int i = 0; i <= 100; i++) {
    y = hist - > GetBinContent(i)

    if (i = 1) continue;
    else if (y != 0) {
        std: cout << * * * * * ERROR * * * * * << std: endl;
        break;
    }

}

发生的事情是它为 i = 0 求值,跳过 i = 1,然后点击 i = 2 并继续求值一遍又一遍。如果我取出“if (i=1) continue;”线然后它工作。

有什么想法吗?

最佳答案

试试这个

if (i==1) continue;

i=1 表示您将 1 分配给 i= 表示赋值,== 表示比较。

在您的代码中,i 的值将始终为 1,因为您正在使用 i=1

关于c++ - 使用 continue 无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27008160/

相关文章:

ffmpeg - 1500 帧的图像序列在 30 分钟的视频 FFMPEG 中循环 30 次

C++ 将数据读入 char*

c++ - C/C++ : casting away volatile considered harmful?

c++ - 概括 Fortran 中特定声明类型的操作

javascript - Vue.js 观察者触发无限循环

java - (Java)当我输入一个非数字(NaN)时,我的程序在应该退出的地方无限循环。

c++ - 在 Linux 上播放 mp3 声音缓冲区

java - 搜索对象问题

python - 尽管满足条件,但字符串上的 for 循环的 if 语句仍不起作用

c - 数组中的唯一数字