在 C 语言编程中,goto 语句可用于改变程序的执行流程。当编译器遇到 goto 语句时,它会无条件地(向前或向后)跳转到语句中指定的位置(我们称之为标签)。
与 Break 和 Continue 不同,此编程语言中的 goto 语句不需要任何 If 条件即可执行。
C 语言 Goto 语句语法
goto 语句后指定的标签是我们放置要执行的代码块的位置。从下面的语法可以看出,我们可以将标签放置在程序中的任何位置。无论将其放在 goto 之前还是之后都无关紧要。

C 语言 Goto 语句示例
这个 goto 示例程序允许用户输入他/她的各科成绩。接下来,它将使用 Goto 语句检查该人是及格还是不及格。
#include <stdio.h>
int main()
{
int Totalmarks;
printf(" \n Please Enter your Subject Marks \n ");
scanf("%d", & Totalmarks);
if(Totalmarks >= 50)
{
goto Pass;
}
else
goto Fail;
Pass:
printf(" \n Congratulation! You made it\n");
Fail:
printf(" \n Better Luck Next Time\n");
return 0;
}

在上面的程序中,Pass 和 Fail 是我们使用的标签。首先,我们声明了整型变量 Totalmarks。
在下一行,Printf 函数将要求用户输入他/她的总分。scanf 函数会将用户指定的值存储在 Totalmarks 变量中。
在下一行,我们使用 If Else 来检查用户输入的值是否大于或等于 50。请参阅 C 语言编程中的 Break、Continue 和 If 条件相关文章。
如果条件为 TRUE,If 块内的 C 语言 Goto 语句会将编译器带到 Pass 标签,并执行 Pass 标签内的代码块。
printf(" \n Congratulation! You made it\n");
否则(如果条件为 FALSE),Else 块内的代码会将编译器带到 Fail 标签。接下来,它会执行 Fail 标签内的代码块。
printf(" \n Better Luck Next Time\n");
注意:尽管所有编程语言都支持 goto 语句,但避免使用或至少尽量减少其使用始终是一种良好的做法。我们可以使用 Break 和 Continue 等替代方案来代替它。