当前位置: 首页 > article >正文

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

#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;
}


http://www.kler.cn/news/307066.html

相关文章:

  • UE4_后期处理六—复古电视效果
  • 【HCIA-Datacom】华为VRP系统
  • 利用Leaflet.js创建交互式地图:绘制固定尺寸的长方形
  • uniapp uni-table合并单元格
  • .SUFFIXES:
  • openGemini 社区人才培养计划:助力成长,培养新一代云原生数据库人才
  • Redis面试题整理
  • 信息学奥赛:青少年编程的高光舞台,通向未来科技的敲门砖
  • 冒泡,选择,快速-排序
  • nestjs cache manager 很ioredis配合使用方案
  • Python Pyvis库创建交互式网络图 高级功能详解
  • 设计模式---中介者模式
  • 智能客服 | AI助理与内部知识库如何优化用户体验
  • 机器学习-深度学习数据集之打架斗殴识别数据集
  • Mysql InnoDB 存储引擎简介
  • Python 解析 JSON 数据
  • RabbitMQ高级篇,进阶内容
  • 【题解】AT_arc035_b [ARC035B] アットコーダー王国のコンテスト事情
  • 手势开关灯
  • 宿舍管理系统的设计与实现 (含源码+sql+视频导入教程)
  • 【Kubernetes】常见面试题汇总(十八)
  • git rev-parse
  • Nginx 文件名逻辑漏洞(CVE-2013-4547)
  • BM5 合并k个已排序的链表
  • 一、机器学习算法与实践_01基本概念与项目流程笔记
  • 一句话描述设计模式
  • 深入分析计算机网络性能指标
  • 无人机培训机构组装调试技术详解
  • 【我的 PWN 学习手札】Fastbin Double Free
  • 【系统分析师】-安全体系