我正在写一个程序来检查给定的字符串是否是回文。当我试图编译代码时,我收到以下警告:
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;
}发布于 2012-12-15 13:28:47
p[i] == " "p[i]是一个char (它是一个整数类型)," "是一个(const,因为它是C++) char数组,它被转换成指向其第一个元素的指针。
你是想把它比作一个空格字符,' '。(请注意字符文字的单引号,双引号用于字符串文本。)
https://stackoverflow.com/questions/13891554
复制相似问题