goto 语句
goto语句最常见的用法是终止程序在某些深度嵌套的结构的处理过程,例如:一次跳出两层或多层循环。因为break无法一次跳出多层循环。但是 goto 语句要尽量少使用,因为容易打乱程序的运行逻辑,造成混乱。
用法:
int main()
{
again:
printf("1\n");
printf("2\n");
goto again;
return 0;
}
当程序运行到goto时,会跳转到again继续运行。
正确使用场景:
for(...)
for (...)
{
for (...)
{
if (disaster)
goto error;
}
}
....
error:
if(disaster)
//处理错误情况
示例:关机程序
问题描述:1.程序运行起来后,电脑在1分钟内关机
2.如果输入:取消关机,则关机取消
int main()
{
char input[20] = { 0 };
system("shutdown -s -t 60");
again:
printf("请注意,你的电脑在60秒内关机,如果输入:取消关机,则关机取消\n");
scanf("%s", input);
if (strcmp(input, "取消关机")==0)
{
system("shutdown -a");
break;
}
else
{
goto again;
}
return 0;
}