if/else 语句不起作用 C++ [关闭]

Posted

技术标签:

【中文标题】if/else 语句不起作用 C++ [关闭]【英文标题】:if/else statement doesn't work c++ [closed] 【发布时间】:2016-03-07 06:30:39 【问题描述】:

我是编程新手,这是我的代码。

#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;

当我运行我的代码时,我在窗口中输入了“Mark”,程序说“你的初始名字是 M”。这很好用 但是当我在窗口中输入“John”时,程序仍然显示“您的初始名称是 M”而不是“您的初始名称不是 M” 我想知道为什么。我的代码中是否缺少某些内容?感谢您的宝贵时间。

【问题讨论】:

name[0] = 'M' 应该是 name[0] == 'M',但显然是重复的。 投票结束,因为错误是由拼写错误引起的。 我们在这里给出这个问题的 4 个答案,认真的吗? 【参考方案1】:
if (name[0] = 'M')

应该是

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

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

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

【讨论】:

【参考方案2】:

if 语句中的 '==' 而不是 '='。 '=' 用于简单赋值运算符,== 用于比较运算符

【讨论】:

【参考方案3】:

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

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

    cout << "Your initial name is M" << endl;

else

    cout << "Your initial name is not M" << endl;

【讨论】:

【参考方案4】:
if (name[0] = 'M')

在 C 和 C++ 中,= 用于赋值。

【讨论】:

以上是关于if/else 语句不起作用 C++ [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

checkBox if else语句不起作用

jQuery:onClick if else 语句不起作用

c++ 程序是不是可以在 if/else 语句中包含 switch 语句[关闭]

为啥这个 if 语句在这种情况下不起作用? [关闭]

bitmapStrokeString 在 C++ 中不起作用 [关闭]

C++ 帮助!程序不起作用[关闭]