- goto语句
C语言中提供了可以随意滥用的 goto语句和标记跳转的标号。
从理论上 goto语句是没有必要的,实践中没有goto语句也可以很容易的写出代码。但是某些场合下goto语句还是用得着的,最常见的用法就是终止程序在某些深度嵌套的结构的处理过程。
例如:一次跳出两层或多层循环。多层循环这种情况使用break是达不到目的的。它只能从最内层循环退出到上一层的循环。
2. goto语言真正适合的场景如下:
方便跳出多层循环,但沟goto只能在一个函数范围内跳转,不能跨函数
for(...)
for(...)
{
for(...)
{
if(disaster)
goto error;
}
}
…
error:
if(disaster)
// 处理错误情况
eg:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(void)
{
flag:
printf("hehe\n");
printf("haha\n");
goto flag; //进入hehe haha的死循环
return 0;
}
3. 关机程序
只要运行起来,电脑就在一分钟之内关机,如果输入:我是猪,就取消关机。
①.怎么用命令关机 windows+r打开运行 运行输入cmd打开命令提示符 。
输入shutdown -s -t 60 —— 60秒后关机;shutdown -a —— 取消关机
也可shutdown --help 了解其他操作
②. c语言中怎么运用命令 c语言提供的函数:system() 函数:执行系统命令,
需要引用头文件<stdlib.h>
//关机程序
//只要运行起来,电脑就在一分钟之内关机,如果输入:我是猪,就取消关机。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(void)
{
char input[20] = { 0 };//我是猪为字符串,创建char 用于存放输入的信息
system("shutdown -s -t 60"); // system()函数:执行系统命令 shutdown -s -t 60为60s后关机 头文件 <stdlib.h>
again:
printf("注意,你滴电脑在1分钟内关机,输入:我是猪,那就不关机啦\n");
scanf("%s", input);//输入字符串
//if (input == "我是猪") // 错误 两个字符串比较不能用 ==
if (strcmp(input, "我是猪") == 0)//使用strcmp()函数 字符串比较函数 头文件 <string.h>
{
system("shutdown -a");
printf("不关机了\n");
}
else
goto again;//输错了 给他60s的机会 到again
return 0;
}