2014-02-23 127 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);