【发布时间】:2019-03-18 02:31:27
【问题描述】:
好的,所以我正在为我正在创建的编程编写一个简单的界面,我遇到了这个问题,无论如何它都会给我相同的响应。
#include <iostream>
using namespace std;
int main()
{
char v;
cout << "Binary or ASCII? "<<endl;
cin >> v;
if (v == 'B' || 'b')
{
cout << "Binary " << endl;
}
else if (v == 'A' || 'a')
{
cout << "ASCII " << endl;
}
else
{
cout << "ERROR: Invalid Option" << endl;
}
return 0;
}
接口应该输出
Binary
如果我输入 B 或 b
ASCII
如果我输入 A 或 a
和
ERROR: Invalid Option
其他一切
相反,我得到了
Binary
不管我输入什么
我的错误在哪里?我做错了什么?
【问题讨论】:
-
术语狡辩:
ifs 和elses 不要循环。 -
将
if (v == 'B' || 'b')更改为if (v == 'B' || v == 'b') -
顺便说一句,很好的问题。它包含我想在一个中看到的所有内容。
-
@Lisandro
if() else控制结构不是循环 BTW。我挣扎了 20 多年,你们从那里弄错了。循环是适用于重复代码块的控制结构,if() else if() else将直接选择代码块一次。
标签: c++ loops if-statement software-design