2014-02-23 166 views
0

的一個數字我是一個初學者,這是我的第一篇文章這樣下去容易對我:)獲取用戶輸入

有獲取用戶輸入的一個數字,反覆的更好的辦法? 輸入應該只包含一個數字,然後是返回鍵。

for (int i = 0; i < n; i++) 
{ 
    int foo = getchar() - '0'; 
    if (foo == '\n' - '0' || getchar() != '\n') 
     return 1; 
} 

在此先感謝

保羅·裏貝羅

編輯:循環後我做以下檢查。

switch (foo) 
{ 
    case 1: 
     //do something 
    case 2: 
     //do something 
    case 3: 
     //do something 
    default: 
     return 1; 
} 
+0

沒有檢查,如果輸入的是數字。 – BLUEPIXY

+0

您正在尋找[this](http://stackoverflow.com/questions/717572/how-do-you-do-non-blocking-console-i-o--linux-in-c)? – neagoegab

+0

@BLUEPIXY對不起,我正在做一個開關的情況下,只接受1,2或3的值的檢查 – beachcabana

回答

1

這是怎麼一回事呢在C:

scanf("%1d",&varname);