goto语句:
- C语言中提供了可以随意滥用的goto语句和标记跳转的标号。
- 从理论.上goto语句是没有必要的,实践中没有goto语句也可以很容易的写出代码。
- 但是某些场合下goto语句还是用得着的,最常见的用法就是终止程序在某些深度嵌套的结构的处理过程,例如一次跳出两层或多层循环。
- 这种情况使用break是达不到目的的。它只能从最内层循环退出到.上- -层的循环。
下面是使用goto语句的场景:
for(...)
for(...)
{
for(...)
{
if(disaster)
goto error;
}
}
…
error:
if(disaster)
// 处理错误情况
程序死循环:
也可以用goto语句做一个定时关机程序
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
//关机
//C语言提供了一个函数:system() - 执行系统命令
char input[20] = { 0 };
system("shutdown -s -t 60");//system - stdlib.h
again:
printf("请注意,你的电脑将在1分钟后关机,如果输入:我是猪,就取消关机\n");
scanf("%s", input);//不用取地址,因为本身就是地址
//string.h
if (strcmp(input, "我是猪") == 0) //两个字符串比较用strcmp() string compare
{
system("shutdown -a");
}
else
{
goto again;
}
return 0;
}
- #include <string.h> strcmp 比较字符串是否相等
- system #include <stdlib.h> 执行系统命令