我看到了一个解释如何在循环中使用“break”语句的教程 但每次我尝试使用它时,我都会收到编译错误:
“break语句不在循环或开关中
break;"
这是我的代码:
if (finalFirstChar > 6 || finalFirstChar < 1)
{
printf("You didn't entered a proper number! \n");
break;
}
答案 0 :(得分:6)
FWIW,if
是一个条件(确切地说是选择语句),并且break
在循环中工作(迭代语句) / switch-case statement。
根据C11
,章节§6.8.6.3
break
语句只能出现在开关体或循环体中。
在任何情况下,break
声明正文中都不需要if
。
答案 1 :(得分:0)
行:
while (cond1) {
if (cond2) break; /* or continue; */
if (cond3) return [something];
}
for (init; cond4; after) {
if (cond5) break; /* or continue; */
if (cond6) return [something];
}
do {
if (cond7) break; /* or continue; */
if (cond8) return [something];
} while (cond9);
if (cond10) return [something];
不行:
if (cond11) { /* not in any while/do/for loop, or case switch */
break; /* or continue; */
}