如何使用指针来判断一个字符串是不是回文字符串?

2024-11-16 00:43:46
推荐回答(1个)
回答1:

#include
#include
#define N 100
int fun(char *p) //传入字符串的首地址
{
char *q;
q = p; //使p和q同时指向字符串的首地址
while(*q) //使q指向字符串的结束标志''
q++;
q--; //使q指向字符串的最后一个字符,而不是结束标志
while(p {
if(*p!=*q) //判断首尾字符是否相等,如果不相等则说明不是回文串
return 0;
p++;//p和q同时向字符串的中间移动
q--;
}
return 1;
}
int main(void)
{
char ch[N];
printf("请输入一个字符串:");
gets(ch); //使用gets可以接受带空格的字符串
if(fun(ch))
printf("是回文串\n");
else
printf("不是回文串\n");
return 0;
}