if / else语句不起作用c ++

时间:2016-03-07 06:30:40

标签: c++ visual-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;
}

当我运行我的代码时,我输入了#34; Mark&#34;在窗口中,程序说&#34;你的初始名字是M&#34;。工作正常image 1
但是当我输入&#34; John&#34;在窗口中,程序仍然说&#34;你的名字是M&#34;而不是&#34;你的初始名字不是M&#34; image 2
我想知道为什么。我的代码中缺少什么东西?谢谢你的时间。

4 个答案:

答案 0 :(得分:1)

if (name[0] = 'M')

应该是

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

=用作赋值运算符。它会将M分配给name[0] 使用==来比较值。

=从右侧到左侧分配值 ==比较右手边和左手边的值。

答案 1 :(得分:0)

其&#39; ==&#39;而不是&#39; =&#39;在你的if语句中。 &#39; =&#39;用于简单赋值运算符,==用于比较运算符

答案 2 :(得分:0)

将if语句中的赋值运算符 = 更改为等于运算符 ==

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

答案 3 :(得分:-1)

window.onbeforeunload = function() {
    return 'You have unsaved changes!';
}

在C和C ++中,if (name[0] = 'M') 用于分配。