鹏哥C语言39---goto语句(关机程序 )

发布于:2024-09-17 ⋅ 阅读:(59) ⋅ 点赞:(0)

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>

//------------------------------------------------------------------------------------------------------------4.  goto 语句
//跳转功能
// goto 语句并不是必要的,可以用其他的语句替代
// 滥用 goto 会打断原本代码的逻辑
// goto 语句不能跨函数跳转

//--------------------------------------语法

//int main()
//{
//    again:
//    printf("hehe\n");
//    printf("haha\n");
//    goto again;
//
//    return 0;
//}

//------------------------------ goto 语句适合的场景
// goto 语句终止深度嵌套的语句和循环
/*
for(...)
{
    for (...)
    {
        for (...)
        {
            if (disaster)
                goto error;

        }
    }
}
error:
    if(disaster)
    ...
*/


//---------------------------------------------------------------------------------------------------关机程序
// 1. 电脑运行起来后,1分钟内关机
// 2. 如果输入:我是猪,就取消关机

//shutdown -s -t 60 //倒计时60秒关机
//shutdown -a         //取消关机


//----------------------------------------------------------------------关机程序:goto 版本
//int main()
//{
//    char input[20] = { 0 };
//    system("shutdown -s -t 60");
//again:
//    printf("请注意,你的电脑在60s内关机,如果输入:我是猪,就取消关机\n");
//    scanf("%s", input);
//
//    if (strcmp(input , "我是猪")==0) //两个字符串相比较必须用 strcmp
//    {
//        system("shutdown -a");
//    }
//    else
//    {
//        goto again;
//    }
//    return 0;
//}

//----------------------------------------------------------------------关机程序:while 版本

int main()
{
    char input[20] = { 0 };
    system("shutdown -s -t 120");

    while(1)
    {
        printf("请注意,你的电脑在120s内关机,如果输入:我是猪,就取消关机\n");
        scanf("%s", input);
        if (strcmp(input, "我是猪") == 0) //两个字符串相比较必须用 strcmp
        {
            system("shutdown -a");
            break;
        }
    }
    
    return 0;
}


网站公告

今日签到

点亮在社区的每一天
去签到