原文: https://beginnersbook.com/2014/01/c-goto-statement/

goto语句很少使用,因为它会使程序混乱,不可读和复杂。而且,当使用它时,程序的控制将不容易跟踪,因此它使测试和调试变得困难。

C - goto语句

当在 C 程序中遇到goto语句时,控制流直接跳转到goto语句中提到的标签。

C 语言中goto的语法

  1. goto label_name;
  2. ..
  3. ..
  4. label_name: C-statements

goto流程图

C - `goto`语句 - 图1

goto语句的示例

  1. #include <stdio.h>
  2. int main()
  3. {
  4. int sum=0;
  5. for(int i = 0; i<=10; i++){
  6. sum = sum+i;
  7. if(i==5){
  8. goto addition;
  9. }
  10. }
  11. addition:
  12. printf("%d", sum);
  13. return 0;
  14. }

输出:

  1. 15

说明:在这个例子中,我们有一个标签addition,当i的值(内部循环)等于 5 时,我们使用goto跳转到这个标签。这就是sum显示直到 5 的数字之和的原因,即使循环设置为从 0 到 10 遍历。