【练气系列】 C关机游戏

简介: C 语言实现关机小游戏

C语言中提供了可以随意滥用的 goto语句和标记跳转的标号。从理论上, goto语句是没有必要的,实践中没有goto语句也可以很容易的写出代码。
但是某些场合下goto语句还是用得着的,最常见的用法就是终止程序在某些深度嵌套的结构的处理过程。

一、🎈示例演示

#include<stdio.h>
int main() {
    int c = 1;
    if (c) {
        goto start;
    }
    printf("1\n");
    printf("1\n");
    printf("1\n");
start:    
    printf("2\n");
    printf("3\n");
}

结果为:
在这里插入图片描述
即直接执行start:后边的内容
最常见的用法就是终止程序在某些深度嵌套的结构的处理过程。
例如:一次跳出两层或多层循环。
多层循环这种情况使用break是达不到目的的。它只能从内层循环退出到上一层循环。如:

#include<stdio.h>
int main() {
    int i = 0, j = 0, k = 0;
    for (i = 1; i <= 100; i++) {
        for (j = 1; j <= 100; j++) {
            for (k = 1; k <= 100; k++) {
                if (i = 10) {
                    goto error;
                }
            }
        }
    }
    error:
    printf("成功跳出");
}

结果为:
在这里插入图片描述

二、🎈goto语句实现关机程序

向控制台输出
shutdown -s -t 时间  即可设置关机倒计时,
shutdown -a  取消关机
此处设置关机时间倒计时60s,利用goto语句实现:如果输入“我是猪”,则取消关机,输入其他,则利用goto语句重新执行,并提示。

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
    char input[10] = { 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;
}
  • 效果如下:

在这里插入图片描述
在这里插入图片描述


总结🎈

本文简单介绍了goto语句的使用,以及如何利用goto语句做一个简单的关机小程序,大家快去试试吧📌
在这里插入图片描述

相关文章
|
3月前
关机整蛊游戏
关机整蛊游戏
29 0
|
8月前
|
程序员 数据处理 持续交付
【天幕系列 01】程序员为何“永不关机”:揭秘电脑守夜的背后原因
【天幕系列 01】程序员为何“永不关机”:揭秘电脑守夜的背后原因
70 2
|
8月前
|
程序员 开发工具
程序员的夜与电:为何不轻易按下“关机”键 ?
程序员的夜与电:为何不轻易按下“关机”键 ?
49 0
用“三国杀”讲“分布式算法”,这下舒适了吧?
前言 《三国杀》是一款热门的卡牌游戏,结合中国三国时期背景,以身份为线索,以卡牌为形式,益智休闲,老少皆宜。 东汉末年,袁绍作为盟主,汇合了十八路诸侯一起攻打董卓。 在讲解之前,我们先聊下分布式协议和算法整体脉络。 现在很多开发同学对分布式的组件怎么使用都有一定经验,也知道 CAP 理论和 BASE 理论的大致含义。但认真去看分布式算法的真的很少,原因有三:
|
开发者
做的游戏没人玩,还要不要继续做下去了
初入一个新的领域,想着自己一下子就能把事情做得很好,这是一种贪婪的妄念。这怎么可能呢?即使是天才,也需要天赋加上日积月累的练习,最终才能够把一件事情做得很好,达到一定的高度。而你竟然认为自己做的第一款游戏就能够大受欢迎,就能做得很好。这样想是不是有点儿不切实际? 第一次写字,第一次画画,第一次骑自行车,第一次游泳……总会是笨拙不堪的,第一次做的游戏同样也是这样,所以,这个问题也就变成了一个很普适的问题。
112 0
|
Java
手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏19敌人可以被打死
手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏19敌人可以被打死
159 0
程序人生 - 狗狗为什么会无缘无故地突然在家里飞奔呢?
程序人生 - 狗狗为什么会无缘无故地突然在家里飞奔呢?
139 0
|
传感器
和12岁小同志搞创客开发:检测按键状态的两件法宝
和12岁小同志搞创客开发:检测按键状态的两件法宝
和12岁小同志搞创客开发:检测按键状态的两件法宝
|
安全 Java Devops
1分钟体验代码自动捉虫,Cherry键盘、积木星球抱回家
如今,一款软件的开发往往需要多成员协作开发。 随着人员规模的扩大,如何保证代码的质量和安全,仅靠成员自觉自测,一是花时间,二是质量上难免参差不齐、无法形成统一的流程规范。 引入自动化的代码检测工具,在代码提交时自动检测代码里的缺陷、漏洞等,设定质量卡点等,可以有效提升团队代码的质量和安全,把DevSecOps落到实处。
752 0
1分钟体验代码自动捉虫,Cherry键盘、积木星球抱回家
|
程序员
行走在崩溃边缘,程序猿“自救”指南!
都说钱是缓解痛苦的良方,可就算是多金的程序猿小哥也有扛不住的崩溃瞬间。到底因何崩溃?究竟是哪些瞬间让程序猿小哥哭笑不得,崩溃不已? 小编抱着万分好奇的心情,深入程序猿圈内一探究竟,总结出了这份“自救”指南。
4196 15