在这种情况下,如何正确使用比较运算符?(字符串数组[0][0] == “字符串”)[关闭]

How to use comparison operator correctly in this case? (string array[0][0] == "string") [closed]

提问人:Floof 提问时间:8/13/2021 更新时间:8/13/2021 访问量:46

问:


这个问题是由错别字或无法再现的问题引起的。虽然类似的问题可能在这里是主题,但这个问题的解决方式不太可能帮助未来的读者。

2年前关闭。

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

#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]|

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

C++ 数组字符串 比较运算符

评论

2赞 Nathan Pierson 8/13/2021
您是否正在尝试比较字符或字符串?您的问题标题和正文不同。在您的示例代码中,是 和 是 .如果你想比较一个角色,Tanveer的答案是正确的。a_ray[0][0]char"a"const char[2]
1赞 Abhilekh Gautam 8/14/2021
"a"和是两回事。'a'
0赞 Floof 8/14/2021
呜呜呜!!!!呜

答:

2赞 Tanveer Badar 8/13/2021 #1

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

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

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