一、break与goto
1、例题

1、1不从循环跳出
#include <stdio.h>
#include <stdlib.h>
int main()
{
int x;
scanf("%d",&x);
int one;
int two;
int five;
for(one=1;one<x*10;one++){
for(two=1;two<x*5;two++){
for(five=1;five<x*2;five++){
if(one+two*5+five*5==x*10){
printf("%d元是%d个一角加%d个两角加%d个五角相加的\n",x,one,two,five);
}
}
}
}
return 0;
}

二、接力break从循环跳出

2.1代码及运行结果
#include <stdio.h>
#include <stdlib.h>
int main()
{
int x;
scanf("%d",&x);
int one;
int two;
int five;
int exit=0;
for(one=1;one<x*10;one++){
for(two=1;two<x*5;two++){
for(five=1;five<x*2;five++){
if(one+two*5+five*5==x*10){
printf("%d元是%d个一角加%d个两角加%d个五角相加的\n",x,one,two,five);
exit=1;
break;
}
}
}
if(exit){
break;
}
}
return 0;
}

三、goto跳出循环(不建议使用)
#include <stdio.h>
#include <stdlib.h>
int main()
{
int x;
scanf("%d",&x);
int one;
int two;
int five;
int exit=0;
for(one=1;one<x*10;one++){
for(two=1;two<x*5;two++){
for(five=1;five<x*2;five++){
if(one+two*5+five*5==x*10){
printf("%d元是%d个一角加%d个两角加%d个五角相加的\n",x,one,two,five);
exit=1;
goto out;
}
}
}
}
out:
//goto out 结尾表示循环跳到out:后的内容
return 0;
}


本文探讨了在C语言中如何利用break和goto语句跳出多重循环。首先展示了一个没有使用break跳出循环的例子,然后展示了使用接力break的方式实现循环跳出,最后提到了虽然不推荐,但goto也可以用于跳出循环的场景。通过这三个示例,读者可以理解不同跳出循环的方法及其适用情况。
1194

被折叠的 条评论
为什么被折叠?



