控制程序流程跳转的通常有 goto、break、continue 等语句。
一、goto语句
goto 语句是一种无条件流程跳转语句,通常 goto 语句与 if 语句结合使用,当满足一定条件时,程序流程跳转到指定标号处,接着往下执行。
定义语句标识的格式如下:
语句标识:语句;
其中,“语句标识”可以是任一个合法的标识符,如 pos_1、pos_2、label_1、label_2 等都是合法的语句标识。注意,语句标识后的冒号不能省略。
goto 语句的调用语法格式为:
goto 语句标号;
程序将从对应“语句标号”的代码处开始往下执行。
【例 1】分析以下程序,了解 goto 语句的使用。
#include<stdio.h>
int main (void){
int n;
pos_1:
printf("请输入一个正整数:");
scanf("%d",&n);
if(n<0)
{
printf("输入错误!\n");
goto pos_1;
}
printf("成功输入正整数:%d\n",n);
return 0;
}
代码分析:
在上述程序代码中,有一个语句标号 pos_1。该程序的执行流程如下:
▶ pos_1 标号处。先提示用户“请输入一个正整数:”。
▶ 如果用户输入的是正整数,则提示“成功输入正整数:***”。执行第 4 步。
▶ 如果用户输入的是负数,则进入循环体,提示“输人错误!”。程序执行流程跳转到 pos_1 处,即跳转到第 1 步,继续往下执行。
▶ 程序结束。
程序运行结果: