c语言习题回文数 找错

当输入长度为偶数的字符串的时候,判断不出来,不知道为啥


#include
#include

int main ()
{
    int flag=0,i,len;
    char str[50];
    printf("plase enter the str\n");
    gets(str);
    len=strlen(str);
    
    
    if(len%2==0)//输入的字符串长度是偶数 
    {
        for(i=0;i<len/2;i++)
            if(str[i]!=str[len-i-1]) 
                flag=1;
    }
    else
    {
        for(i=0;i<(len-1)/2;i++)
         {
             if(str[i]!=str[len-i-1])
                 flag=1;
         }
    if(flag==1)
        printf("NO");
    else
        printf("YES");      
    } 
    


    return 0;
} 

if(flag==1) printf("NO");else printf("YES");写在else里面了 把他写在else外面即可