第二个scanf不会运行,程序才会终止。 C

时间:2015-06-24 06:11:58

标签: c scanf

此程序仅适用于1个printf scanf对。当我添加第二对并运行程序时,它允许我输入第一个变量。但跳过第二个并终止程序。怎么了?

#include <stdio.h>

//Version A-1.0

main
{
    //Variables
    int HQ;
    char additionalbuilding;

    //Prompt user to specify a HQ level
    printf("Specify a HQ level. (1-20): ");
    scanf("%d",&HQ);
    printf("Would you like another building? (y/n): ");
    scanf("%c",&additionalbuilding);
}

1 个答案:

答案 0 :(得分:0)

这是因为整数输入中的前一个\ n保留在缓冲区中。在scanf之前使用getchar来摆脱它

printf("Specify a HQ level. (1-20): ");
scanf("%d",&HQ);
getchar();
printf("Would you like another building? (y/n): ");
scanf("%c",&additionalbuilding);
相关问题