首页 > 解决方案 > 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";
    }
}

标签: c++string

解决方案


用于显示1变量day应同时为 7 个不同的值。因为那是不可能的,你总是看到0

作为一般规则(不严格),您应该||在进行匹配(==)而不是不匹配(!=)时使用。


推荐阅读