【问题标题】:if/else statement doesn't work c++ [closed]if/else 语句不起作用 C++ [关闭]
【发布时间】: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 个答案,认真的吗?

标签: c++ visual-c++


【解决方案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++ 中,= 用于赋值。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-04-12
          • 1970-01-01
          • 2018-03-29
          • 1970-01-01
          • 2023-03-13
          • 2015-05-05
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多