2017-01-25 74 views
-4

我剛剛開始編碼在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); 
} 
+0

開始。您是否嘗試在此處搜索用於用戶輸入的* c循環*? –

+1

'if(a == 625)'是多餘的,因爲當涉及到該子句時,它必須等於625,這就是「其他」的含義。並且不要使用括號作爲回報,它不是函數 –

+0

嗨,歡迎來到Stack Overflow。對不起,但這個問題可能會因爲太小而關閉。你應該看看[while循環](https://www.tutorialspoint.com/cprogramming/c_while_loop.htm)和一本學習C的好書,例如[Learn C The Hard Way](https://learncodethehardway.org/c /)。老實說,如果你只是在學習如何編程,C可能不是一個好的選擇。這很複雜,最好先用高級語言學習基礎知識,比如[Ruby](http://tryruby.org/levels/1/challenges/0)。 – Schwern

回答

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"); 

希望這有助於。

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); 
}