无法在C <stdio.h> </stdio.h>中使用Switch-Case语句

时间:2011-11-25 07:09:26

标签: c stdio switch-statement

任何人都可以告诉我为什么我不能让这个菜单让我做出选择?它跳过让我选择正确的“错误选择”。在此先感谢您的帮助,我一定会感谢您的个人。

printf("Welcome to the Inventroy Control System");
printf("\nPlease make a selection");
printf("\n\n\ta) Display Inventory");

printf("\n\tb) Add New Items");
printf("\n\tg) Exit");
printf("\nSelect what you would like to do");
printf("\nOption Chosen: ");

fflush(stdin);
scanf("%c", &input);

input = toupper(input);

switch(input)

{

case 'A':
{
    funa(j,a);
    break;
}
case 'B':
{
    j = funb(amount,a);
    break;
}
case 'G':
{
    fung();
    break;
}
default:
{
    printf("\nWrong Selection");
}
}

1 个答案:

答案 0 :(得分:5)

您可能正在阅读\n,因为fflush(stdin); is wrong

而是尝试:

scanf(" %c", &input);
       ^

有很多关于此问题的C FAQ条目,这里解释了how to flush stdin