C goto 语句

C 语言中的 goto 语句允许把控制无条件转移到同一函数内的被标记的语句。

注意:在任何编程语言中,都不建议使用 goto 语句。因为它使得程序的控制流难以跟踪,使程序难以理解和难以修改。任何使用 goto 语句的程序可以改写成不需要使用 goto 语句的写法。

语法

C 语言中 goto 语句的语法:

  1. goto label;
  2. ..
  3. .
  4. label: statement;

在这里,label 可以是任何除 C 关键字以外的纯文本,它可以设置在 C 程序中 goto 语句的前面或者后面。

流程图

C goto 语句

实例

  1. #include <stdio.h>
  2. int main ()
  3. {
  4. /* 局部变量定义 */
  5. int a = 10;
  6. /* do 循环执行 */
  7. LOOP:do
  8. {
  9. if( a == 15)
  10. {
  11. /* 跳过迭代 */
  12. a = a + 1;
  13. goto LOOP;
  14. }
  15. printf("a 的值: %d\n", a);
  16. a++;
  17. }while( a < 20 );
  18. return 0;
  19. }

当上面的代码被编译和执行时,它会产生下列结果:

  1. a 的值: 10
  2. a 的值: 11
  3. a 的值: 12
  4. a 的值: 13
  5. a 的值: 14
  6. a 的值: 16
  7. a 的值: 17
  8. a 的值: 18
  9. a 的值: 19