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:
Qualche indizio per capire dove ho sbagliato?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"); }

Rispondi quotando