在简单的菜单代码中循环冻结

时间:2013-08-15 11:19:27

标签: c loops

我正在尝试编写一个简单的文本菜单,代码编译很好但执行冻结,因为它进入while循环并且循环内没有代码执行。代码非常简单,我看不出问题。

void menu()
{
    int option = 1;
    while (option!=3);
    {
        printf("Select an option\n\n");
        printf("1. Input data\n");
        printf("2. View table of data\n");
        printf("3. Exit program\n");
        scanf("%d", &option);


        switch (option)
        {
            case 1:
            printf("Inputting data\n");
            break;

            case 2:
            printf("Viewing table\n");
            break;

            default:
            printf("Invalid choice, please try again\n");
            break;
        }
    }
} 

2 个答案:

答案 0 :(得分:10)

你有一个迷路分号

while (option!=3);
                ^^^ 

这将永远循环。
试试这个

while (option!=3)
                ^^^ 

答案 1 :(得分:1)

while(option!=3);

这只是一个无限循环 更正代码以删除分号 并且还要求用户输入值3以退出,否则它将不会从循环中退出,因为3将永远不会进入。