跳至主要內容

2.4 四大跳转


四大跳转

  • C语言中提供了四大跳转语句, 分别是return、break、continue、goto
  • break:
  • 立即跳出switch语句或循环
  • 应用场景:
  • switch
  • 循环结构

  • break注意点:
    • break离开应用范围,存在是没有意义的
if(1) {
  break; // 会报错
}
  • 在多层循环中,一个break语句只向外跳一层
while(1) {
  while(2) {
    break;// 只对while2有效, 不会影响while1
  }
  printf("while1循环体\n");
}
  • break下面不可以有语句,因为执行不到
while(2){
  break;
  printf("打我啊!");// 执行不到
}

  • continue
  • 结束本轮循环,进入下一轮循环
  • 应用场景:
  • 循环结构
  • continue注意点:
  • continue离开应用范围,存在是没有意义的
if(1) {
  continue; // 会报错
}

  • goto
  • 这是一个不太值得探讨的话题,goto 会破坏结构化程序设计流程,它将使程序层次不清,且不易读,所以慎用
  • goto 语句,仅能在本函数内实现跳转,不能实现跨函数跳转(短跳转)。但是他在跳出多重循环的时候效率还是蛮高的
#include <stdio.h>
int main(){
    int num = 0;
// loop:是定义的标记
loop:if(num < 10){
        printf("num = %d\n", num);
        num++;
        // goto loop代表跳转到标记的位置
        goto loop;
    }
}
#include <stdio.h>
int main(){
    while (1) {
        while(2){
            goto lnj;
        }
    }
    lnj:printf("跳过了所有循环");
}

  • return
    • 结束当前函数,将结果返回给调用者
    • 不着急, 放一放,学到函数我们再回头来看它

上次编辑于: