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++ [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
c++ 程序是不是可以在 if/else 语句中包含 switch 语句[关闭]