2015-06-24 95 views
-1

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

#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); 
} 
+2

使用'scanf函数之前( “%C”,与additionalbuilding) ;'。 – haccks

+0

哈哈谢谢你的作品 –

回答

0

这是因为从输入的整数前面\ n的buffer.Use停留在getchar函数scanf函数来摆脱它

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