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++;
}
In C esiste il pre-incremento e il post-incremento.
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