输入字符串,判断是否是回文

这是我写的代码

#include <stdio.h>
#include"string.h"
void main()
{
    char a[10];
int i,j;
i=0,j=strlen(a)-1;
scanf("s%",a);
while(i<j)
{
    if(a[i]!=a[j])
{printf("N");
break;}
i++,j--;
}
printf("Y");
}



不管输入什么结果都是Y,到底是哪里出了问题

scanf("s%",a);
i=0,j=strlen(a)-1;


#include <stdio.h>
#include"string.h"
int main()
{
    char a[10];
    scanf("%s",a);
    
    int i = 0;
    int j = strlen(a) - 1;
    
    bool jud = true;
    while(i<j)
    {
        if(a[i++] != a[j--])
        {
            jud = false;
            break;
        }
    }
    if (jud) printf("Y");
    else printf("N");
    return 0;
}