c语言 判断字符串回文的

来源:百度知道 编辑:UC知道 时间:2024/05/30 06:22:41
#include<stdio.h>

int fac(char *p)
{ int *q;
for(q=p;q!='\0';q++);
for(q--;p<q;)
if(*p++!=*q--) return 0;
else return 1;}

void main()
{ char a[10],*p=a;
int c;
printf("input a zifuchuan:\n");
scanf("%s",a);

c=fac(p);
if (c)
printf("yes");
else printf("no");}

怎么输入什么都是NO啊
大家帮看下哪错了

#include<stdio.h>

int fac(char *p)
{ char *q;
for(q=p;*q!='\0';q++);

for(q--;p<q;)
if(*p++!=*q--) return 0;
return 1;
}

void main()
{ char a[10],*p=a;
int c;
printf("input a zifuchuan:\n");
scanf("%s",a);

c=fac(p);
if (c)
printf("yes");
else printf("no");}

主要是子程序的问题,你自己对照着看吧

#include <stdio.h>

int fac(char *pp)
{
char *q;
for(int i=0; *(pp+i)!='\0'; i++);
q=pp+i;
for(q--; pp<q; pp++,q--)
{
if(*pp!=*q)
return 0;
else
return 1;
}
}