C;如果我在while循环中放入for循环中断

时间:2012-10-24 08:33:09

标签: c for-loop while-loop boolean break

我在C,而不是C ++中这样做。无论如何,如果我在for循环中放入一个break语句,它会仅停止for循环还是同时停止for和while循环?例如,这是我的代码中包含while和for的部分。我正在做的是让用户输入24小时的时间,我正在检查这个循环中的分钟(希望这是正确的)。我关心的是break语句只会结束for循环,还是会结束for和while,因为我只希望for循环结束。

boolean check = false;
while (!check){
    int i;
            for (i = 1; i < 24; i++)
            {
                    int hour = i*100;
                    /* if the time has less hours than the hour counter*/
                    if ((hour - timeOfDay) < 100)
                    {
                    /*declare an illegal time when the number of minutes remaining*/
                    /*is greater than 59*/
                            if ((hour - timeOfDay) > 59)
                            {  
                                    check = false;
                                    break;
                            }
                    }
            }
}

4 个答案:

答案 0 :(得分:13)

它只会破坏内部for循环,而不会破坏外部while循环 在发布问题之前,您可以使用简约代码示例对此进行测试。我猜它会花费相同的时间来构建Q.

答案 1 :(得分:5)

从C标准:(第6.8.6.3节)

<强>约束

break语句只能出现在开关体或循环体中。

<强>语义

break语句终止执行最小的封闭开关或迭代 言。

答案 2 :(得分:1)

如果你把它放在for循环中,它将只停止/打破for循环。

答案 3 :(得分:0)

break执行时,程序停止执行它下面的其他语句,并且只是在loop之外,并从存在break的循环体之后的语句开始。 在这种情况下,它将从内部for循环中出来。 如果你想做一些演示只需在(eg printf("outside inner loop");)循环的结束大括号之后放一个语句for。 然后你会看到该语句的执行。