2015-06-24 129 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);