如何限制用户输入?

时间:2014-03-09 06:50:38

标签: c

我是编程新手,我想知道如何检查用户输入是否符合我的条件。例如,程序只接受低于25的输入。

这是我的代码。但它没有用。 :(

for(i=1; i<=5; i++);
{
   if(act[i]<25)
   {
      scanf("%d", &act[i]);
   }
}

2 个答案:

答案 0 :(得分:1)

此代码无效,因为您尝试在实际从用户收到if(act[i]<25)之前评估if条件act[i]

你需要的是:

for(i=1;i<=5;i++)
{
    again:
    scanf("%d",&act[i]);
    if(!(act[i]<25))
    {
        printf("Invalid input! Enter again..\n");
        goto again:
    }
}

if条件必须在你扫描了act [i]之后。 如果用户输入的数字不在所需范围内,则会打印一条消息,您必须再次输入该号码。

此外,for(i=1;i<=5;i++)

之后不应该有分号

答案 1 :(得分:0)

假设您持续尝试接收大于或等于25的数字。

for(i=0; i<5; i++)
{
   int n;
   do{
     scanf("%d", &n);
   } while(n>=25);
   act[i]=n;
}