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.