#include <stdio.h>
int fun(char *p)
{ if(p==NULL)
return -1;
else
{
int length = 0;
int i = 0;
int judge = 1;
length = strlen(p);
for(i=0;
i <length/2; i++)
{
if(p[i]!=p[length-1-i])
judge = 0; break;
}
if(judge == 0)
return 0;
else
return 1;
}
}
void main()
{
char str1[]="abccba";
char str2[]="b";
int i=fun(str1);
printf("%d \n",i);
}
第二种:
#include <stdio.h>
int fun(char *p)
{
int len = strlen(p) - 1;
char *q = p + len;
if (!p)
return -1;
while (p < q)
{ if ((*p++) != (*q--))
return 0;
}
return 1;
}
void main()
{
char str1[]="abccba";
char str2[]="b";
int i=fun(str1);
printf("%d \n",i);
}
本文提供了两种不同的C语言实现方法来判断一个字符串是否为回文。第一种方法通过遍历字符串的一半并比较对称位置上的字符来实现;第二种方法则通过指针技巧从两端向中间逐个比较字符。
2584

被折叠的 条评论
为什么被折叠?



