#include <stdio.h>
#define N 50
int fun(char a[])
{
int i=0,num=0,flag=1;
do
{
num++;
}while(a[++i]!='\0');
do
{
if(a[i]!=a[num-i])
{
flag=0;
break;
}
i++;
}while(i<num);
return(flag);
}
int main()
{
char a[N];
int m;
printf("Input a string:\n");
scanf("%c",&a);
m=fun(a);
if(m==1)
printf("YES\n");
else
printf("NO\n");
return 0;
}
#include <stdio.h>
#define N 50
int fun(char a[])
{
int i=0,num=0,flag=1;
do
{
num++;
}while(a[++i]!='\0');
i=0;
do
{
if(a[i]!=a[num-i])
{
flag=0;
break;
}
i++;
}while(i<num);
return(flag);
}
int main()
{
char a[N];
int m;
printf("Input a string:\n");
scanf("%c",&a);
m=fun(a);
if(m==1)
printf("YES\n");
else
printf("NO\n");
return 0;
}
我感觉你是中间少了一步i=0的清空环节