Salve a tutti,ho scritto un programma che usa una funzione per vedere se una stringa è palindroma o no.L' idea da cui sono partito è di creare una stringa inversa e stampare "è palindroma" se la stringa inversa è uguale a quella di partenza usando strcmp.
Pero' mi stampa sempre che non è palindroma.
Ecco il codice:
codice:
#include<stdio.h>
#include<string.h>
void palindroma(char a[]);
main()
{
    char stemp[100];
    gets(stemp);
    char s1[strlen(stemp)];
    strcpy(s1,stemp);
    palindroma(s1);
}
void palindroma(char a[])
{
    int i;
    char *ptra,*ptrb,b[strlen(a)];
    ptra=a;
    ptrb=&b[strlen(a)];
    for(i=0;i<strlen(a);i++)
    {
        *ptrb--=*ptra++;
    }
    if(!strcmp(a,b))
      printf("E' palindroma");
    else
      printf("Non e' palindroma");
}
Qualche indizio per capire dove ho sbagliato?