c语言回文字符串判定结果出错

#include<stdio.h>
#include <string.h>
#define MAX 100
int Ispalin(char *string)
{
char *q = string;
for(q=strlen(string)-1;string<q;string++,q--)
{
if( *string != *q) return(0);
else
return(1);
}
}
int main()
{
char str[MAX];
gets(str);
if(Ispalin(str)) printf("yes");
else
printf("no");
return 0;
}
无论怎么写输出都是yes