我是编程新手,这是我的代码。
#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;。工作正常
但是当我输入&#34; John&#34;在窗口中,程序仍然说&#34;你的名字是M&#34;而不是&#34;你的初始名字不是M&#34;
我想知道为什么。我的代码中缺少什么东西?谢谢你的时间。
答案 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')
用于分配。