[英]how to put a 2d string array in if statement?
我在if语句中将字符串2d数组与'X'进行比较时遇到问题
我正在尝试将数组中的每个单元格与“ X”进行比较,但是在第14行中出现“操作符=='不匹配”错误,因此我想将数组放入此if语句时遇到问题
#include <iostream>
using namespace std;
int main()
{
int n;
cin >> n;
string M[n][n];
int k=0;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cin>>M[i][j];
if(M[i][j]=='X')
k++;
}
}
cout<<k<<endl;
return 0;
}
第14行中的错误“ if行”,并显示“不匹配'operator =='错误
如果您来自Python之类的另一种语言,这可能并不明显,但是在C ++中,对于文字类型使用""
和''
之间存在显着差异。 对于char
类型,我们仅使用''
(单引号)。 对于std :: string类型(和其他字符串),我们使用""
进行比较-这也是您的情况。
因此,在您的行中:
if(M[i][j]=='X')
您需要使用双引号""
将M中的元素与字符串进行比较:
if(M[i][j] == "X")
或者,如果仅在M的每个单元格中存储单个字符,则该char
可能是char
的2D数组。
首先声明一个字符串变量并分配“ X”,例如。 string s="X";
之后,将s与每个索引进行比较。 if(M[i][j]==s)
码:
int main(){
int n;
//here
string s="X";
cin >> n;
string M[n][n];
int k=0;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cin>>M[i][j];
//here
if(M[i][j]==s)
k++;
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.