## 四大跳转 - C语言中提供了四大跳转语句, 分别是return、break、continue、goto - break: + 立即跳出switch语句或循环 - 应用场景: + switch + 循环结构 ![](https://img-blog.csdnimg.cn/img_convert/912852ed05d5b35f881533a2187ed9f6.png) ![](https://img-blog.csdnimg.cn/img_convert/3d827d07e49b3a8714cb36dcb7d1ee68.png) - break注意点: + break离开应用范围,存在是没有意义的 ```c if(1) { break; // 会报错 } ``` - 在多层循环中,一个break语句只向外跳一层 ```c while(1) { while(2) { break;// 只对while2有效, 不会影响while1 } printf("while1循环体\n"); } ``` - break下面不可以有语句,因为执行不到 ```c while(2){ break; printf("打我啊!");// 执行不到 } ``` --- - continue + 结束**本轮**循环,进入**下一轮**循环 - 应用场景: + 循环结构 ![](https://img-blog.csdnimg.cn/img_convert/583422ddce6be561ca9c76019f629c19.png) - continue注意点: + continue离开应用范围,存在是没有意义的 ```c if(1) { continue; // 会报错 } ``` --- - goto - 这是一个不太值得探讨的话题,goto 会破坏结构化程序设计流程,它将使程序层次不清,且不易读,所以慎用 - goto 语句,仅能在本函数内实现跳转,不能实现跨函数跳转(短跳转)。但是他在跳出多重循环的时候效率还是蛮高的 ![](https://img-blog.csdnimg.cn/img_convert/c6c568069c9f5d7e162f250f7ea9e4fc.png) ```c #include int main(){ int num = 0; // loop:是定义的标记 loop:if(num < 10){ printf("num = %d\n", num); num++; // goto loop代表跳转到标记的位置 goto loop; } } ``` ```c #include int main(){ while (1) { while(2){ goto lnj; } } lnj:printf("跳过了所有循环"); } ``` --- - return + 结束当前函数,将结果返回给调用者 + 不着急, 放一放,学到函数我们再回头来看它 最后,如果有任何疑问,欢迎加微信 **leader_fengy** 拉你进学习交流群。