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(它是一个整数类型),并且" "是一个 ( const,因为它是 C++)char数组,它被转换为与指向其第一个元素的指针的比较。

您的意思是将其与空格字符进行比较,' '. (注意字符文字的单引号,双引号用于字符串文字。)

于 2012-12-15T13:28:47.010 回答