簡體   English   中英

如何限制用戶輸入?

[英]How to limit the user input?

我是編程新手,我想知道如何檢查用戶輸入是否在我的條件之內。 例如,程序僅接受25以下的輸入。

這是我的代碼。 但這不起作用。 :(

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

該代碼不起作用,因為您試圖在實際從用戶收到act[i]之前評估if條件if(act[i]<25)

您需要的是:

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

如果條件必須在您掃描act [i]之后。 如果用戶輸入的數字不在所需范圍內,則會顯示一條消息,並且您必須再次輸入該數字。

另外, for(i=1;i<=5;i++)之后不應使用分號for(i=1;i<=5;i++)

假設,如果您收到的數字大於或等於25,則您將永遠嘗試。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM