2012-02-06 151 views
-4

我的問題是第二個scanf(" %s", name);不起作用。它只是不等待用戶的輸入。scanf()表達式被跳過

int main()  
{ 
    int ID = 0; 
    char name[100]; 
    float CGPA = 0; 

    printf("enter name\n"); 
    scanf(" %s", name); 

    printf("enter float\n"); 
    scanf("%.2f", &ID); 

    printf("enter name\n"); 
    scanf(" %s", name); 

    system("PAUSE");  
} 

它爲什麼會跳過此scanf

+0

一致性很好 – sidyll 2012-02-06 21:00:45

+0

*什麼* for循環? – 2012-02-06 21:00:47

+0

可能重複的[當我嘗試掃描多個字符串在C編程有一些錯誤](http://stackoverflow.com/questions/9165873/when-i-try-to-scan-more-than-1 -string-in-c-programming-there-is-something-wrong) – 2012-02-06 21:11:09

回答

3

你的問題出在下面一行:

scanf("%.2f", &ID); 
  1. 你有一個錯誤,你的意思是&CGPA
  2. 您不需要在此指定精度(.2),取決於用戶。簡單的%f將工作正常。

它應該是這樣的:

scanf("%f", &CPGA); 

希望這有助於。

+0

感謝一羣人 – user1193041 2012-02-07 00:43:00