判断回文有步骤不懂。

在这个判断回文的代码里面最后的return p >= q是什么意思呢?
int isPalindrome(char const str)
{
if(str)//这个也不懂
{
if(strlen(str) == 1 || strlen(str) == 0)//长度是1或者0的是回文
{
return 1;
}
char *p = str, *q = p + strlen(str) - 1;
while(*p == *q && p < q)
{
p++;
q--;
}
**return p >= q;
*//这个不懂
}
return 0;
}

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^