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?