【C语言初阶】goto语句

【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 语句和循环语句实现关机的小程序。


感谢您的阅读!如有任何错误,欢迎您的批评指正!

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值