我正在尝试编写一个简单的文本菜单,代码编译很好但执行冻结,因为它进入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;
}
}
}
答案 0 :(得分:10)
你有一个迷路分号
while (option!=3);
^^^
这将永远循环。
试试这个
while (option!=3)
^^^
答案 1 :(得分:1)
while(option!=3);
这只是一个无限循环 更正代码以删除分号 并且还要求用户输入值3以退出,否则它将不会从循环中退出,因为3将永远不会进入。