2016-03-07 257 views
-6

我是編程新手,這是我的代碼。if/else語句不起作用C++

#include <iostream> 
using namespace std; 

int main(int argc, char** argv) { 
char name[50]; 
cout << "Please enter your name : " << endl; 
cin >> name; 

if (name[0] = 'M') 
{ 
    cout << "Your initial name is M" << endl; 
} 
else 
{ 
    cout << "Your initial name is not M" << endl; 
} 

system("pause"); 
return 0; 
} 

當我運行我的代碼,我在窗口中鍵入「標記」和節目中說:「你最初的名字是M」。那正常工作image 1
但是當我在窗口中鍵入「約翰」,該程序仍然表示「你的名字是M」而不是「你的名字不是M」image 2
我想知道爲什麼。在我的代碼中有什麼缺失?謝謝你的時間。

+7

'名稱[0] = 'M''應該是'名[0] ==' M'',雖然明顯重複。 –

+2

投票關閉,因爲錯誤是由錯字引起的。 –

+4

在這裏,我們認真回答這個問題的4個答案嗎? –

回答

1
if (name[0] = 'M') 

應必須是

if (name[0] == 'M') 

=用作賦值運算符。它會將M分配給name[0]
使用==來比較值。

=從右側指定值到左側。
==比較右側與左側的值。

-1
if (name[0] = 'M') 

在C和C++中,=用於賦值。

0

它的'==',而不是'='在你的if語句中。 「=」爲簡單賦值運算符和==爲比較運算符

0

更改賦值運算符=在你的if語句,以平等的運營商==

if (name[0] == 'M') 
{ 
    cout << "Your initial name is M" << endl; 
} 
else 
{ 
    cout << "Your initial name is not M" << endl; 
}