欢迎来到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>
好了,现在我们就可以来编写代码了
思路流程:
- 先书写代码执行第一行的关机命令
- 这时候我们需要打印一段文字提醒玩家要关机了,提醒他说一些违背自己意愿的话就不会关机
- scanf函数输入
- if,else语句去对输入内容做出不同情况的回应
- 如果输入的是正确的内容,则关闭关机的命令;如果不是,但我们还是要给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;
}
此代码的一些注意事项我已经写在代码中的注释当中,可以浅看一下,总体来说,这个代码实现还是较容易的,但是一定要注意细节!
今日好诗
如上便是本期的所有内容了,如果喜欢并觉得有帮助的话,希望可以博个点赞+收藏+关注🌹🌹🌹❤️ 🧡 💛,学海无涯苦作舟,愿与君一起共勉成长