C语言中提供了可以调用的 goto语句和标记跳转的标号
常用于终止程序在某些深度嵌套的结构的处理过程
例如:一次跳出两层或多层循环。 多层循环这种情况使用break是达不到目的的,它只能从最内层循环退出到上一层的循环
for(...) ?
{?
? ? ? ? ? ? ?for(...) ?
? ? ? ? ? { ? ? ? ?
? ? ? ? ? ? ? ? ? for(...) ? ? ?
? ? ? ? ? ? ? ?{ ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? if(disaster) ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ?goto error; ? ? ?
? ? ? ? ? ? ? ? } ?
? ? ? ? ? } ?
}?
? ? …
error:
? ? ? ? ? if(disaster) ? ? ? ?
? ? ? ? // 处理错误情况
关机程序:用goto语句实现循环
#include <stdio.h>
#include <stdlib.h>
int main()
{
char input[20] = {0};
system("shutdown -s -t 60");
again:
printf("电脑将在1分钟内关机,如果输入:好好学习就取消关机!\n请输入:>");
scanf("%s", input);
if(0 == strcmp(input, "好好学习"))
{
system("shutdown -a");
}
else
{
goto again;
}
return 0;
}
|