我感觉这是最容易理解的写法
#include<stdio.h>
#include<string.h>
int max1(int a,int b)
{
return a>b?a:b;
}
int main()
{
char a[1001];
gets(a);
int len = strlen(a);
int i,j,k,t,flag,res=0;
for(i=0;i<len;i++)
{
for(j=i;j<len;j++)
{
flag = 0;
for(k=i,t=j;k<=t;k++,t--)
{
if(a[k]==a[t])
flag++;
else break;
}
if(k>t)
{
res = max1(j-i+1,res);
}
}
}
printf("%d",res);
return 0;
}
如果这段代码有不足的地方,希望多多指点