c++ - C ++将“字符串”与数组中的对象进行比较
问题描述
我想知道为什么运算符 || 当我将“输入”与数组元素进行比较时不起作用... AND(&&) 有效,但这意味着我的输入必须等于表的每个元素(或不等于 - 我不明白)。与 || 运算符我总是得到结果“0”
#include <iostream>
#include <cmath>
#include <cstdlib>
using namespace std;
int main()
{
string days[7] = { "sr","czw","pt","sob","nd","pon","wt" };
string day;
cin >> day;
if (day != (days[0]) || day != days[1] || day != days[2] || day != days[3] || day != days[4] || day != days[5] || day != days[6])
{
cout << "0";
}
else
{
cout << "1";
}
}
解决方案
用于显示1
变量day
应同时为 7 个不同的值。因为那是不可能的,你总是看到0
。
作为一般规则(不严格),您应该||
在进行匹配(==
)而不是不匹配(!=
)时使用。
推荐阅读
- dialogflow-es - 使用 Action Builder 将 Google Assistant 集成到 Facebook Messenger
- ios - SwiftUI DocumentGroup 和切换到后台
- clickhouse - 在 ReplaceingMergeTree 中首选最旧版本
- r - 在 R 中绘制 nls 模型的导数
- spring-boot - Spring Boot 不映射 JSP 页面 Intellj
- java - 由于 SocketTimeoutException,如何增加 apache SSHD 的 scpClient 的 ChannelOutputStream 的等待超时?
- java - 在将统一更新到 2020 并将 jdk 更改回 1.8.0_271 后,Unity 无法构建出现错误的 android .. 请帮助我绝望:(
- c++ - 覆盖模板结构的 << 运算符
- c# - 在 winforms 中显示始终处于活动状态的表单
- python - 如何在 Python Pandas 的 DataFrame 中根据日期创建列?