【C语言初阶】goto语句
文章目录
四、goto
语句
1 goto
语句
C语言提供了可以随意使用的
goto
语句和标记跳转的标签。
2 goto
- 流程图
3 使用场景
在某些场合可以使用 goto
语句。最常见的就是终止并跳出深度嵌套的结构。
比如:跳出两层或多层循环。这是单个 break
语句所达不到的。
示例:
for(...)
{
for(...)
{
for(...)
{
if(disaster)
goto label;
}
}
}
...
label:
if(disaster)
...
4 使用注意
一般情况下都不建议使用 goto
语句。因为它使得程序的控制流难以跟踪,使程序难以理解和难以修改。
任何使用 goto
语句的程序可以改写成不需要使用 goto
语句的写法。
5 使用案例
一个关机程序
5.1 goto
语句实现
代码示例:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>//system()
#include<string.h>//strcmp()
int main()
{
//一个关机程序
char input[10] = { 0 };
system("shutdown -s -t 120");//倒计时关机 - 120s
again:
printf("此电脑将在2分钟之后关机,如果输入:我是猪,就取消关机!\n");
printf("请输入:>");
scanf("%s", input);
if (0 == strcmp(input, "我是猪"))
{
system("shutdown -a");//取消关机
}
else
{
goto again;//goto语句实现跳转
}
return 0;
}
解释说明:
1 system("shutdown -s -t 120");
:执行该语句后,电脑将在120s后自动关机。
shutdown -s -t :设置关机倒计时。
2 system("shutdown -a");
:执行该语句后,电脑会取消关机。
shutdown -a:取消关机。
5.2 循环语句实现
代码示例:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>//system()
#include<string.h>//strcmp()
int main()
{
//一个关机程序
char input[10] = { 0 };
system("shutdown -s -t 120");//倒计时关机 - 120s
while (1)
{
printf("此电脑将在2分钟之后关机,如果输入:我是猪,就取消关机!\n");
printf("请输入:>");
scanf("%s", input);
if (0 == strcmp(input, "我是猪"))
{
system("shutdown -a");//取消关机
break;
}
}
return 0;
}
5.3 shutdown
命令
关于
shutdown
命令的扩展([点击链接](shutdown | Microsoft Learn))。
总结:
本节介绍了 goto
语句的使用场景与使用注意;给出了一个分别用 goto
语句和循环语句实现关机的小程序。
感谢您的阅读!如有任何错误,欢迎您的批评指正!