goto语句+关机程序
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
作用:1.直接到达目的地;2.终止程序在某些深度嵌套的结构的处理过程(一次跳出两层或多层循环);
直接到达目的地:
举例:
#include<stdio.h>
int main()
{
printf("hello world\n");
goto next;
printf("hello\n");
next:
printf("hi\n");
return 0;
}
goto会直接来到next的后面,输出
更进一步举例:(关机程序)
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char input[20]={};
system("shutdown -s -t 60");
again:
printf("请注意,你的电脑在1分钟内关机,如果输入:我是猪,则取消关机\n请输入:");
scanf("%s",input);
if(strcmp(input,"我是猪")==0)
{
system("shutdown -a");
}
else
{
goto again;
}
return 0;
}
注意:
strcmp(...,...)==0是专门用来判断两个字符串是否相等的东西 对应库函数#include<string.h>
system("shutdown -s -t 60");
system("shutdown -a");
system("")表示执行系统命令 对应库函数#include<stdlib.h>
shutdown -s -t 60 -s设置关机 -t设置时间关机 60s关机
shutdown -a 取消关机
等同去掉goto的如下的循环:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char input[20]={};
system("shutdown -s -t 60");
while(1)
{
printf("请注意,你的电脑在1分组内关机,如果输入:我是猪,则取消关机\n请输入:");
scanf("%s",input);
if(strcmp(input,"我是猪")==0)
{
system("shutdown -a");
break;
}
}
return 0;
}
终止程序在某些深度嵌套的结构的处理过程(一次跳出两层或多层循环);
举例:
for(...)
{
for(...)
{
for(...)
{
if(disaster)
goto error;
}
}
}
...
error:
......
则goto可以直接跳出多个for的循环 如果是用break就不能达到一次跳出来的效果
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |