什么是goto语句呢?
1.C语言中提供了可以随意滥用的 goto语句和标记跳转的标号。
最常见的用法就是终止程序在某些深度嵌套的结构的处理过程。
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int main() { again: printf("hehe\n"); printf("haha\n"); printf("heiehi\n"); goto again; return 0; }
运行结果:屏幕上死循环打印hehe haha heihei
2.goto语言真正适合的场景如下:
for(...) for(...) { for(...) { if(disaster) goto error; } } … error: if(disaster) // 处理错误情况
3.使用goto语句写一个关机程序:让电脑在60s内关机,在60s内输入"我是猪"取消关机
//使用命令行关机 //shutdown -s -t 60 //取消关机 //shutdown -a #include<stdio.h> #include<stdlib.h>//system库函数的头文件 #include<string.h>//strcmp库函数的头文件 int main() { char arr[20] = { 0 }; system("shutdown -s -t 60"); again: printf("请注意,您的电脑将在1分钟内关机,如果输入:我是猪,就取消关机\n"); scanf("%s", arr); if (strcmp(arr, "我是猪") == 0) {//strcmp用来比较比较两个字符串是否相等,等于的话返回值为0 system("shutdown -a"); } else { goto again; //输错了但是时间还没到,就返回again就再给一次机会 } return 0; }
运行结果:
不用goto语句的写法:
int main() { char arr[20] = { 0 }; system("shutdown -s -t 60"); while (1) { //在1分钟内输入错误后反复输入,直到电脑关机 printf("请注意,您的电脑将在1分钟内关机,如果输入:我是猪,就取消关机\n"); scanf("%s", arr); if (strcmp(arr, "我是猪") == 0) {//strcmp用来比较比较两个字符串是否相等,等于的话返回值为0 system("shutdown -a"); break; } } return 0; }
4.shutdown命令的拓展
shutdown-a //取消关机 shutdown-s //关机 shutdown-f //强行关闭应用程序 shutdown-m\\计算机名 //控制远程计算机 shutdown-i //显示'远程关机'图形用户界面,但必须是shutdown的第一个参数 shutdown-I //注销当前用户 shutdown-r //关机并重启 shutdown-s-t //时间 设置关机倒计时 shutdown-r-t //时间 设置重新启动倒计时 shutdown-h //休眠
总结:
以上是对goto语句的简单使用,但是也足以体现出goto语句的作用了.你学到了吗小伙伴们😜😜
如果对你有帮助的话,希望小伙伴们点个赞和关注一下哦~💗💗💗我也会继续更新学习的内容,感谢友友们的支持!😚