La soluzione può essere notevolmente semplificata secondo me... Ad esempio:
Se proprio vuoi usare anche <string.h>, potresti cambiare la procedura così:codice:#include <stdio.h> #include <string.h> void printRevStr (char *s) { char c; if (*s == '\0') return; else { c = *s; printRevStr (s + 1); printf ("%c", c); } } int main (void) { char s [50]; printf ("\nInserire stringa: "); scanf ("%s", s); printf ("\n\nStringa stampata all'incontrario: "); printRevStr (s); printf ("\n\n\n"); return 0; }
codice:void printRevStr (char *s) { char c; if (strlen(s) == 1) printf ("%c", *s); else { c = *s; printRevStr (s + 1); printf ("%c", c); } }

Rispondi quotando