goto语句与其的实际运用

在这里插入图片描述

欢迎来到Cefler的博客😁
🕌博客主页:那个传说中的man的主页
🏠个人专栏:题目解析
🌎推荐文章:题目大解析(更新ing)

在这里插入图片描述


前言
本期主要为讲解有关goto语句的定义,以及关于goto语句的实际运用,希望可以帮到大家🌷🌷🌷


👉🏻goto语句语法

语法:goto 类名
在这里插入图片描述
对,没有搞错,goto的语法就是这么的easy,就是写个goto后,在后面取个名字就行了。那大家可能就要掀桌子了,就取个名字,有啥用?别急,这个名字我们可是要用到滴,我们创建的这个名字,其实就像我们生小孩🫃🏻,要带它去旅行的🚗。在我们取好名后,比如这里我假设取名为儿子在我们写代码的时候,如果我们希望代码执行的时候不要循规蹈矩的一行一行执行下去,想要突然换到到其它代码行执行,那么我们就可以在即将要执行的代码行上面输入儿子:注意📢要加冒号:,而这个时候我们的代码就会重新从这行代码开始执行
在这里插入图片描述

👉🏻goto语句——一匹难以驯服的野马

了解了一下goto语句,大家是不是感觉goto语句是不是很牛逼,就像超人一样,脱离代码程序执行桎梏,随心所欲,想去哪就去哪,但正是它如此潇洒,如此强大,才造就了它的不羁,就像一匹难以驯服的野马,你想驾驭它,但是却要小心被它丢下马背😵‍💫就像上图,这个简单的打印动作,经过goto语句这么一跑动,结果就是死循环的打印“Celfer”,而这其实还在我们的把控之中,但是,一旦当代码量大的时候,我们在运用goto语句时,就要千万小心,因为它很可能在某些时候给你意想不到的“惊喜”。那么,把goto语句说的这么危险,何时一般去用它呢,且听我娓娓道来。

👉🏻goto语句的一般使用场景

goto语句语句一般用于跳出多层循环

在这里插入图片描述
我们一般想要跳出循环,通常运用的就是break,但是break的作用是有限的,它只能帮助我们跳出一层循环,但是我们如果想要跳出2层甚至更多层循环时,那么goto语句的作用就出来了,它可以帮助我们在多层嵌套的循环中脱离出来,而这个作用给我们编写代码的时候大大的省了力,可以说非常nice了😋。
在这里插入图片描述

👉🏻goto语句运用实例——关机代码

在开始前,先补充这次代码所需要的一些小知识点:

shutdown -s关机
shutdown -s -t设置关机的倒计时(单位为s)
shutdown -r关机并重启
shutdown -r -t设置重新启动的倒计时
shutdown -h电脑休眠
shutdown -a取消关机的命令

🗣注意:这些命令都放置在库函数system(“”)中,而别忘了调用system的时候写上它的头文件<stdlib.h>
好了,现在我们就可以来编写代码了
在这里插入图片描述
思路流程

  1. 先书写代码执行第一行的关机命令
  2. 这时候我们需要打印一段文字提醒玩家要关机了,提醒他说一些违背自己意愿的话就不会关机
  3. scanf函数输入
  4. if,else语句去对输入内容做出不同情况的回应
  5. 如果输入的是正确的内容,则关闭关机的命令;如果不是,但我们还是要给bro一点机会,用goto语句返回到提醒代码一行,让bro再重新输入。
    接下来我们看一下代码实现👇🏻👇🏻👇🏻👇🏻
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
	char arr[10] = { 0 };//记得类型改为Char类型

	system("shutdown -s -t 120");
    opportunity://go to 回到这里,让bro再进行输入
	printf("Pay attention,bro!你的电脑2分钟后就要关机了,现在输入:我就是个屑,才能挽回局面!🤡\n");
	scanf("%s", arr);//数组本身就是地址,无需&取地址了
	if (strcmp(arr, "我就是个屑")==0)//==号别漏了
		system("shutdown -a");
		//system("shutdown -a");//关机取消
	else
		goto opportunity;//给不听话的bro一个机会
	return 0;
}

此代码的一些注意事项我已经写在代码中的注释当中,可以浅看一下,总体来说,这个代码实现还是较容易的,但是一定要注意细节!


今日好诗

《梦江南》
[唐] 温庭筠
千万恨,恨极在天涯。山月不知心里事,
水风空落眼前花,摇曳碧云斜。

如上便是本期的所有内容了,如果喜欢并觉得有帮助的话,希望可以博个点赞+收藏+关注🌹🌹🌹❤️ 🧡 💛,学海无涯苦作舟,愿与君一起共勉成长
在这里插入图片描述

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值