Salve, sto facendo i primi passi col linguaggio C.
E sto sbattendo il muso sulla gestione delle stringhe!

Guardate questo programmino:

#include <stdio.h>
#include <string.h>

main(int argc, char *argv[])
{

// variabili generiche
int i = 0;
char nome[10] = "Mattia";

printf("Nome = %s\n", nome);

for (i=0; i!=10; i++)
{
printf("Carattere n. %d = %s\n", i, nome[i]);
}

return (0);
} // end main


Questo è l'output che produce:

Nome = Mattia
Carattere n. 0 =
Carattere n. 1 =
Carattere n. 2 =
Carattere n. 3 =
Carattere n. 4 =
Carattere n. 5 =
Carattere n. 6 =
Carattere n. 7 =
Carattere n. 8 =
Carattere n. 9 =


Questo è quello che mi sarei aspettato:

Nome = Mattia
Carattere n. 0 = M
Carattere n. 1 = a
Carattere n. 2 = t
Carattere n. 3 = t
Carattere n. 4 = i
Carattere n. 5 = a
Carattere n. 6 =
Carattere n. 7 =
Carattere n. 8 =
Carattere n. 9 =

Sapete dirmi dove sbaglio?

P.S. il programma è stato compilato ed eseguito in ambiente AS400 (ma non credo che questo influisca).

Grazie per qualsiasi aiuto.

Mattia Vacca.