目录
1.程序实现的功能
打开程序就会提示你一分钟后关机,让你输入一句话,如果输入正确就取消关机如果输入错误就继续输入。如果一分钟内没有做出操作或者没有按照要求输入程序就会关机。
2.代码实现
#include<windows.h>
#include<string.h>
int main()
{
char poward[20] = "";
system("shutdown -s -t 60");
printf("请注意你的电脑在一分钟后就会关机,如果你想取消关机请输入;>我是猪!\n");
again:
scanf("%s", poward);//保存输入的字符串
if (0 == strcmp("我是猪!", poward))//如果输入正确就取消关机
{
system("shutdown -a");//取消关机
}
else
{
printf("输入错误请重新输入!:>\n");
goto again;
}
}
3.细节讲解
C语言提供了可以随意跳转的语句goto,如何使用呢就是goto+标签,将标签放到合适的地方就可以实现跳转。其实不使用跳转功能也能完成程序的功能。C语言提供的跳转语句有一定的缺陷,如果随意滥用可能让程序的结构混乱,但是跳转语句也有一定优势在某些深度嵌套的情况下跳转语句可以直接跳出深度循环这对于处理某些特殊情况也是很有用的。
函数system是用来执行windows系统的系统调用的,使用它需要引用头文件windows.h,shutdown -s -t是用来设定电脑关机的命令 -60意思是六十秒之后关机,shutdown -a的意思是取消关机。
scanf函数是用来接收我们输入的密码的(这里的密码是一个字符串),为什么这里的sacnf函数中的poward没有加取地址符呢(&)因为poward是数组名,数组名本来就是地址所以不需要加取地址符。