鹏哥C语言39---goto语句(关机程序 )
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
//------------------------------------------------------------------------------------------------------------4. goto 语句
//跳转功能
// goto 语句并不是必要的,可以用其他的语句替代
// 滥用 goto 会打断原本代码的逻辑
// goto 语句不能跨函数跳转
//--------------------------------------语法
//int main()
//{
// again:
// printf("hehe\n");
// printf("haha\n");
// goto again;
//
// return 0;
//}
//------------------------------ goto 语句适合的场景
// goto 语句终止深度嵌套的语句和循环
/*
for(...)
{
for (...)
{
for (...)
{
if (disaster)
goto error;
}
}
}
error:
if(disaster)
...
*/
//---------------------------------------------------------------------------------------------------关机程序
// 1. 电脑运行起来后,1分钟内关机
// 2. 如果输入:我是猪,就取消关机
//shutdown -s -t 60 //倒计时60秒关机
//shutdown -a //取消关机
//----------------------------------------------------------------------关机程序:goto 版本
//int main()
//{
// char input[20] = { 0 };
// system("shutdown -s -t 60");
//again:
// printf("请注意,你的电脑在60s内关机,如果输入:我是猪,就取消关机\n");
// scanf("%s", input);
//
// if (strcmp(input , "我是猪")==0) //两个字符串相比较必须用 strcmp
// {
// system("shutdown -a");
// }
// else
// {
// goto again;
// }
// return 0;
//}
//----------------------------------------------------------------------关机程序:while 版本
int main()
{
char input[20] = { 0 };
system("shutdown -s -t 120");
while(1)
{
printf("请注意,你的电脑在120s内关机,如果输入:我是猪,就取消关机\n");
scanf("%s", input);
if (strcmp(input, "我是猪") == 0) //两个字符串相比较必须用 strcmp
{
system("shutdown -a");
break;
}
}
return 0;
}