【问题标题】:How to use comparison operator correctly in this case? (string array[0][0] == "string") [closed]在这种情况下如何正确使用比较运算符? (字符串数组[0][0] ==“字符串”)[关闭]
【发布时间】:2021-10-16 21:05:36
【问题描述】:

我需要将数组中的字符串中的一个字符与另一个字符串进行比较。这是我的问题的一个有效但简单的版本:

#include <iostream>

using namespace std;

int main() {
    
    string a_ray[1] = {"asd"};
    if (a_ray[0][0] == "a") {
        bool a;
    }
    return 0;
}

错误信息:ISO C++ forbids comparison between pointer and integer [-fpermissive]|

这是什么原因造成的?我怎样才能以正确的方式做我想做的事? 提前谢谢!

【问题讨论】:

  • 您是在比较字符还是字符串?您的问题标题和正文不同。在您的示例代码中,a_ray[0][0]char"a"const char[2]。如果您尝试比较单个字符,Tanveer 的答案是正确的。
  • "a"'a' 是两个不同的东西。
  • ooooooooohhhhh 明白了!!!!!

标签: c++ arrays string comparison-operators


【解决方案1】:

由于您要与字符进行比较,因此您的代码应该是

if (a_ray[0][0] == 'a')

您正在尝试将字符与字符数组进行比较,因此出现错误消息。

【讨论】:

    猜你喜欢
    • 2018-12-26
    • 1970-01-01
    • 2020-02-23
    • 2012-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-06
    相关资源
    最近更新 更多