一、基础知识
①数组名本来就是地址,所以输入时不用取地址&
②system:是用来执行命令的函数,需要包含头文件stdilb.h
③strcmp
两个字符串在比较的时候不能用==,而是用strcmp:string compare
如果两个字符串相等,则system函数会返回0
需要包含头文件<string.h>
④shutdown -s -t 时间
-s 设置关机
-t 设置倒计时
-a 取消关机
⑤goto语句可以跳转到同一函数任意位置
二、代码演示
Ⅰ.int main()
{
char arr[20] = { 0 };
system("shutdown -s -t 60");
again:
printf("请输入:我是猪,否则你的电脑将会在60s后关机\n");
scanf("%s", arr);
if (strcmp(arr, "我是猪") == 0)
{
system("shutdown -a");
printf("关机被取消\n");
}
else
{
goto again;
}
return 0;
}
Ⅱ.goto可以用循环代替
int main()
{
char arr[20] = { 0 };
system("shutdown -s -t 60");
while (1)
{
printf("请输入:我是猪,否则你的电脑将会在60s后关机\n");
scanf("%s", arr);
if (strcmp(arr, "我是猪") == 0)//如果两个字符串相等,则system函数会返回0,0==0为真,执行if,关机被取消,跳出循环
{
system("shutdown -a");
printf("关机被取消\n");
break;
}
}
return 0;
}