avi*_*avi 33 c break
假设,我if在for循环中有一个语句:
if
for
for( ; ; ) { if( ) { printf(" inside if"); break; }//if printf("inside for"); }//for
现在,该break语句是否会导致编译器退出for循环,或者只有if当条件if变得满足时它才会出现?
break
Win*_*mer 79
该break语句突破了最近的封闭循环或switch语句.
break不会突破if声明,但最近loop或switch包含该if声明.不破坏if声明的原因是因为它通常用于决定是否要突破声明loop.
loop
switch
有趣的是,电话交换机行为不端,因为发明C的公司正好犯了这个错误.他们想要打破一个if声明,他们忘记了它会突破整个for声明.
Mar*_*ers 19
它会突破for循环.一个break语句只对循环(一个效果do,for,while)和switch语句(爆发的case).
do
while
case
根据C99标准,第6.8.6.3节:
约束 break语句只应出现在开关体或循环体中. 语义 break语句终止执行最小的封闭开关或迭代语句.
约束
break语句只应出现在开关体或循环体中.
语义
break语句终止执行最小的封闭开关或迭代语句.
Mat*_*nen 14
break不会破坏if子句,而是最近的循环或switch子句.此外,if子句不称为"循环",因为它从不重复其内容.
归档时间:
15 年,7 月 前
查看次数:
72000 次
最近记录:
6 年,6 月 前