C编程:为什么这个循环无限?

时间:2018-02-15 05:05:54

标签: c

int main(void) {

int loopControl;


for (loopControl = 0; loopControl <= 6, loopControl+=2;) {

    if(loopControl > 100) {
        break;
    }

    printf("The Loop Control is %d\n", loopControl);
    }
    return 0;   
}

为什么这段代码无限?我觉得我错过了一些基本的东西。我把断点读入输出。输出让它一直循环到100,然后由于我的if语句而中断。

2 个答案:

答案 0 :(得分:7)

for (loopControl = 0; loopControl <= 6, loopControl+=2;) 

所以你在这里使用逗号它只是一个错字, coma计算两者然后返回第二个,所以loopControl + = 2基本上总是为真,你的意思是:

for (loopControl = 0; loopControl <= 6; loopControl+=2) 

答案 1 :(得分:1)

for循环中缺少赋值运算符语句,这有助于限制循环。 在你的情况下,for循环中缺少第三个语句,因此它使循环连续。