2013-06-30 108 views
2
#include <iostream> 
#include <windows.h> 

using namespace std; 

int main() 
{ 
    int y; 
    cin>> y; 

    if (y = 9); 
    { 
    cout<< "notgood"; 
    } 


    cout<< "good"; 
    system("pause>nul"); 
    return 0; 
} 

我不能明白它只是「好」的本身。我是否需要一個其他的,如果我需要一個其他的不會這意味着我需要重寫系統暫停並返回0?我知道它的簡單,但可以給我一些幫助,我必須做什麼。非常簡單的15行編程

回答

4

它應該是:

if (y == 9) { 
    cout << "notgood"; 
}   

=是分配,==是進行比較。在if之後緊接着的;正在終止該聲明。

您需要了解基本語法,因此SO不是輔導服務。

+0

謝謝你so much – sickist

2

在C++中,operator =是賦值,如果你想比較兩個值,你必須使用==,所以if應該是if (y == 9),你也不想在if語句後面加分號。

1

你需要使用== (y == 9)

單=係指轉讓

+0

非常感謝你soo – sickist

2

一個好辦法避免的錯誤別人已經指出的那樣,你可以切換兩個操作數,例如的地方:

if (9 == y)... 

這樣一來,如果你不小心弄錯==運營商爲=運營商,你會得到一個錯誤的嘗試沒有分配非左值。

+0

現在,我認爲最喜歡使用最自然的語法y == 9,並讓編譯器警告完成他們的工作。有些人甚至認爲它代碼給我們不自然的語法,如9 == y,因爲它可能表明編碼器不關心編譯器警告。 – hyde

+0

這就是我的情況,我從來沒有使用過這種方法,但仍然可能有一些用處。 – dtech

1

你會寫出來。試着這樣說:

#include <iostream> 
#include <windows.h> 

using namespace std; 

int main() { 
    int y; 
    cin>> y; 
    if (y == 9) { 
     cout<< "notgood"; 
    } else { 
     cout<< "good"; 
    } 
    system("pause>nul"); 
    return 0; 
} 

不知道是什麼的9號沒有被認爲是「不好」 ......

如果你正在學習,開始考慮開發支柱一貫的風格放置,使用空白等等。它會讓你的代碼更易於閱讀,理解和調試。隨機性讓你看起來馬虎,你的代碼更難理解。

+0

感謝生病 – sickist

+1

和順便說一句9不是很好,因爲它被吃掉了7泰銖 – sickist

+0

有趣的,如果你寫「吃七」... – duffymo