Originariamente inviato da isolaflo
char stringa [10];

...

la funzione strlen mi dice che la stringa ha lunghezza 9.

Perche'?
Perchè prevedi 10 caratteri nella stringa, quindi 9+1 contando il terminatore.

La strlen non comprende mai il terminatore.


2) Dubbio sorto dal primo.
Se dichiaro:

char stringa [10];

significa che ho 10 posizioni libere + 1 per il terminatore di stringa \0?
oppure che ne ho 9 libere e la decima è per il terminatore di stringa \0?
9 libere