即使计数器为4,我的程序也会跳过if语句counter==4
。当我尝试调试时,它将永远不会检查if语句,每次都会完全跳过它。
int num;
int counter = 1;
while (file >> num) {
if (counter == 1) {
//code
}
if (counter == 2) {
//code
}
if (counter == 2) {
//code
}
if (counter == 4) { //completely skips this if
counter == 1;
}
counter++;
}
答案 0 :(得分:0)
您有这件作品:
if (counter == 4) { //completely skips this if
counter == 1;
}
它不会被跳过(从您发布的代码中可以看到)。它什么也没做。将比较 counter
到1,然后丢弃结果布尔值。
要解决此问题,请切换至分配,请使用counter = 1
。
您的编译器应该警告您“代码无效”。打开警告(对于 gcc 和 clang 使用-Wall -Wextra
,对于Visual Studio而言,使用/W3
或/W4
都可以),并且修复它们。