首页 > 解决方案 > Case 语句在 C 中无法正常工作。只是重复菜单选择

问题描述

我正在处理这个问题,我似乎无法让案例选项正常工作,每次我选择 1 或 2 时,它都会再次显示菜单,甚至是 3 或 4 ,哈哈。

当我从菜单中选择时,我希望能够中断到 case 语句 1 或 2。

谢谢。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main (int argc, char ** argv)
{
    int flag = 1;
    while (flag)
    {
        //Print menu
        printf("1: Say hello\n");
        printf("2: Say goodbye\n");
        printf("0: exit\n");
        printf("Enter choice :");
        //read input
        char buffer[10];
        fgets(buffer, 10, stdin);
        //convert to number
        int number = atoi (buffer);

        //work on input
        switch (number)
        {
            case 1:
                printf("hello world\n");
                break;
            case 2:
                printf("goodbye world\n");
                break;
            case 0:
                printf("Exiting...\n");
                flag = 0;
                break;
            default:
                printf("INVAID INPUT\n");
                break;
        }
    }   
    return 0;
}   

**解决了

问题是我看不到消息回来了,暂时失明。所以它毕竟工作得很完美。

标签: ccasebreak

解决方案


没有问题,这是一个 SWITCH CASE 语句的工作示例。


推荐阅读