In C esiste il pre-incremento e il post-incremento.Originariamente inviato da andrea_NET-_DSL
in questo codice non dovrebbe esserre corretto incrementare i in quel modo...
Infatti quando entra nel while si trova a stampare non il carattere che occupa la posizione 0 dell'array c (cioè il primo) ma l'1.
no?![]()
Cosi' và invece:
codice:char c[] = "ciro"; int i = 0; while(c[i] != '\0'){ printf("%c", c[i); i++; }![]()
![]()
Quel codice funziona correttamente perchè c'è un post-incremento della variabile i.
Parlando più a terra terra, la printf() prima stampa il carattere corrispondente al indice i (0), poi incrementa i (i = 1).
Quindi il programma è giusto scritto così com'è.
Ovviamente la soluzione preferibile è quella di Lethalman.
bye

Rispondi quotando