0

与えられた文字列が回文であるかどうかをチェックするプログラムを書いています。コードをコンパイルしようとすると、以下の警告が表示されました

pandridom_with_space.cpp [エラー] ISO C++ はポインタと整数の比較を禁止しています [-fpermissive]

この警告を無視できることはわかっていますが、コードを変更してこの警告を削除する方法を知りたいです。

bool isPalindrome(const char*p,int len)
{
    if((p==NULL)||(len<1))
    return false;
    int i=0,j=len-1;
    while(p[i]!=0 && i<j)
    {
            while((i<j)&&(p[i] == " "))// <<<===== here I am getting warning.
            i++;
            while((i<j)&&(p[j] == " "))// <<<===== here I am getting warning.
            j--;
            if(p[i]!=p[j])
            return false;
            i++;
            j--;

    }
    return true;

}
4

1 に答える 1

1
p[i] == " "

p[i]char(整数型) であり、比較のために最初の要素へのポインターに変換される (C++ であるため) 配列" "ですconstchar

あなたはそれをスペース文字と比較するつもり' 'でした. (文字リテラルの単一引用符、文字列リテラルの二重引用符に注意してください。)

于 2012-12-15T13:28:47.010 に答える