Usando questa funzione per raccogliere dallo standard input, per es.:

fgets ( stringa, 30, stdin );

ho il dubbio se, siccome una stringa termina con 0, anche la fgets agisca con questa logica apponendo lo 0.

Purtroppo l'esempio che ho non chiarisce la cosa, anzi fa pensare che non venga inserita la terminazione stringa:

codice:
char nome[30];
printf (“Inserisci il tuo nome e il tuo cognome: “);
fgets ( nome, 30, stdin );
nome[strlen(nome)-1] = 0;
printf (“Ti chiami %s\n”, nome);
//Il comando dato dopo fgets() è necessario perché tale funzione legge anche il
carattere '\n', mettendolo alla fine della stringa.