如果它们出现错误,你如何循环if语句?

时间:2017-01-25 03:24:56

标签: c

我刚开始用C编码,并且认为我会尝试一些我认为简单的东西。我得到它的工作,现在我希望它循环,如果它出来假,所以我可以再次输入一个数字。帮助

#include <stdio.h>

int main()
{
    int a;
    printf("Enter The Passcode: ");
    scanf("%d", &a);
    if (a != 625){
        printf("Correct Passcode");
    }
   else if (a == 625){
        printf("Incorrect Passcode");
}
    return(0);
}

2 个答案:

答案 0 :(得分:0)

为了让您指向正确的方向,您可以在此处使用while循环。拥有一个布尔表达式声称某些东西的情况并不是一个人声称它是真的,这并没有根本的不同。例如,1 != 2完全正确(因为1实际上并不等于2)。这听起来有点奇怪,但想想为什么这句话是真的,我认为这将澄清问题。

一个快点。我知道评论中提到了这一点,但在这种情况下,else if (a == 625)是多余的,因为a不可能是 625。另外,我假设你改变了你的if语句,因为你写这个字面意思是任何数字其他而不是625是正确的密码(仔细查看你的if语句来看为什么会这样。)

话虽如此,这里有一个可以帮助你的例子:

int a = // Read integer from console;

// This will happen if, and only if, a is something other than 625
// This'll keep prompting them until they enter 625
while (a != 625) {
   printf("Incorrect password. Please enter the correct password.");
   a = // Read integer from console
}

// If we got past the loop, we know that they must have entered a correct password
printf("Correct password");

希望这有帮助。

答案 1 :(得分:0)

你必须为此目的使用循环,如

#include <stdio.h>

int main()
{
    int a=0; //some random
    printf("Enter The Passcode: ");


while(a!=625){
     scanf("%d", &a);
     if (a != 625){
        printf("Correct Passcode");
        break; // you found correct
     }
     else if (a == 625){
        printf("Incorrect Passcode");
      }

   }
    return(0);
}