2012-02-21 71 views
1

所以基本上我得到的字符串数组,可以说a[i][b];如何检查字符串数组的第一个元素第一个符号与if?

,使代码看起来是这样的 -

for(int i = 0; i < 3; i++) { 
    for(int n = 0; b < 3; b++) { 
    if(a[i][b] == "s") { 
    cout << a[i][b] << endl; 
    } 
    } 
} 

数组存在,我可以检查它,如果我只是显示在控制台上的a[i][b]没有如果声明,但如果声明它给了我这个错误 -

error: ISO C++ forbids comparison between pointer and integer

有没有什么办法解决这个问题?

+0

你不觉得知道'a'是什么很重要吗? :/ – 2012-02-21 14:12:20

+0

这是哪里来的?你能给我们所有的代码吗? – SD1990 2012-02-21 14:12:51

+0

什么类型是* a *?如果它是char **,你可能想要在if条件中检查单个字符,例如如果(a [我] [b] ==''') – 2012-02-21 14:12:58

回答

5

“s”是字符串文字,即字符数组,因此衰变为指针。只是比较一个字符,使用单引号:

if (a[i][b]=='s') 
+0

这工作,大声笑谢谢!将尽快接受我将能够! – user1223540 2012-02-21 14:15:12

1

s在单引号这样's'
"s"是一个文本,并在C++中没有String类(本机)。所以"s"实际上是一个指向字符序列的指针,而a[i][b]只是一个字符。

3

"s"是一个C字符串常量,如果你想与一个字符用's'比较。