I need to check if a string A, for example, is equal to string B to determine if the entered word is a palindrome, string B is the inverse of A, I can not determine if the contents are the same. For example, I enter with the word "macaw", the program should display a message that the word is a palindrome, instead it shows the message saying the word is not a palindrome.
#define N 20
int main()
{
char palavra_a[N], palavra_b[N];
int i,j=0,flag=0;
puts("\nInsira uma palavra: \n");//pegando a palavra
fflush(stdin);
gets(palavra_a);
for(i=strlen(palavra_a);i>0;i--)
{
palavra_b[j]=palavra_a[i];
j=j+1;
}
for(i=0;i<strlen(palavra_a)-1;i++)
{
if(palavra_a[i]==palavra_b[i])
{
flag=0;
printf("%c",palavra_b[i]);
}
else
if(palavra_a[i]!=palavra_b[i])
{
flag=1;
break;//caso a letra da palavra b seja diferente da palavra a, o laço é quebrado
}
}
printf("\n %s",palavra_b[N]);
switch (flag)
{
case 0:
puts("\nA palavra inserida eh um palindromo.");
break;
case 1:
puts("\nA palavra inserida nao eh um palindromo.");
break;
}
system("Pause");
return 0;
}