#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char a[50];
char s[50];
int p[50];
gets(s);
int i=0,k=0,j;
while(s[i]!='\0')
{
if((s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z'))
{
if(s[i]>='a'&&s[i]<='z')
s[i]-=32;
a[k]=s[i];
p[k]=i;
k++;
}
i++;
}
a[k]='\0';
printf("%s\n\n",a);
/
for(i=0;i<strlen(a);i++)
printf("%dttt\n",p[i]);
int max=0;
int m,n,l;
for(i=0;i<strlen(a);i++)
{
for(j=i;j<strlen(a);j++)
{
int ok=1;
for(k=i;k<=j;k++)
{
if(a[k]!=a[i+j-k])
ok=0;
}
if(ok&&j-i+1>max)
{
max=j-i+1;
m=p[i];
n=p[j];
}
}
}
printf("max=%d\n",max);
for(l=m;l<=n;l++)
{
printf("%c",s[l]);
}
return 0;
}
问题:m,n放到for外面就乱了