【C语言】goto语句用法 自动关机小程序(关爱同学)

goto语言

C语言中提供了可以随意滥用的goto语句和标记跳转的标号.

从理论上goto语句是没有必要的,实践中没有goto语句也可以很容易的写出代码。

但是某些场合下goto语句还是用得着的,最常见的用法就是终止程序在某些深度嵌套的结构的处理过程,例如一次跳出两层或多层循环。

.这种情况使用break是达不到目的的。它只能从最内层循环退出到上一层的循环。下面是使用goto语句的一个例子:

一个关机程序

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
//关机程序
//只要运行起来,电脑就会在一分钟内关机
//shutdown -s -t 60  一分钟关机命令
//shutdown -a        取消关机命令
//c语言提供了一种函数专门执行系统命令的函数:system()-执行系统命令
int main()
{
	char input[20] = { 0 };
	system("shutdown -s -t 1800");// system 在 stdlib.h
    again:
	printf("请注意你的电脑还有半小时就关机,如果输入:我是猪就取消关机\n");
	scanf("%s", input);//数组名本来就是地址
	/*if (input == "我是猪")*/ //两个字符串比较是不能用==,应该使用strcmp函数 
	if (strcmp(input, "我是猪") == 0)  //strcmp函数比较之后正确返回0
	{
		system("shutdown -a");
	}
	else
	{
		goto again;
	}
	return 0;
}

当然这里面的goto是可以替换掉的

	char input[20] = { 0 };
    system("shutdown -s -t 1800");
	while (1)
	{		
		printf("请注意你的电脑还有半小时就关机,如果输入:我是猪就取消关机\n");
		scanf("%s", input);

		if (strcmp(input, "我是猪") == 0)  
		{
			system("shutdown -a");
		}

	}
	return 0;

那么goto什么时候用最好呢?

 主要用于跳出复杂多重的循环

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

狂暴于涛侠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值