#include<stdio.h>
#include<assert.h>
#include<string.h>
//回文字符串abcba,12321
bool IsPalindrome(const char *str)//指针指向值不能被修改
{
assert(str != NULL);
if(str == NULL || strlen(str) <= 0)
{
return false;
}
const char *pbegin = str;//abcba
const char *pend = str+strlen(str)-1;//stulen单字节,字符串长度-1+首元素指针=最后字符指针
while(pbegin < pend)//循环一一比较
{
if(*pbegin == *pend)//相同返回真,不同返回假
{
pbegin++;
pend--;
}
else
{
return false;
}
}
return true;
}
int main()
{
const char *str="abcba";
if(IsPalindrome(str))
{
printf("IsPalindrome\n ");
}
else
{
printf("Not IsPalindrome!\n ");
}
getchar();
return 0;
}
答案:abcba