我正在写一个程序来检查天气,给定的字符串是回文。当我尝试编译代码时,我得到了以下警告
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;
}
答案 0 :(得分:1)
p[i] == " "
p[i]
是char
(这是一个整数类型)," "
是一个(const
,因为它是C ++)char
数组是转换为比较为指向其第一个元素的指针。
您打算将其与空格字符' '
进行比较。 (注意字符文字的单引号,双引号用于字符串文字。)