Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] \0

O que irá acontecer se eu não colocar o \0 no final da string?

1 resposta
solução!

Olá, Paulo! Tudo certo?

Se você não colocar o \0 no final da string em C, funções que manipulam strings, como printf("%s"), não saberão onde a string termina. Isso pode levar a comportamentos inesperados, como a impressão de caracteres "lixo" que estão além do final pretendido da string, até que um \0 seja encontrado por acaso na memória.

Por exemplo, se você tiver um array de caracteres como este:

char palavrasecreta[20];

palavrasecreta[0] = 'M';
palavrasecreta[1] = 'E';
palavrasecreta[2] = 'L';
palavrasecreta[3] = 'A';
palavrasecreta[4] = 'N';
palavrasecreta[5] = 'C';
palavrasecreta[6] = 'I';
palavrasecreta[7] = 'A';
// Falta o \0 aqui

E tentar imprimir usando printf("%s", palavrasecreta);, o programa pode continuar lendo e imprimindo caracteres além de "MELANCIA", até encontrar um \0 por acaso na memória, o que não é garantido e pode resultar em uma saída indesejada.

Portanto, é importante sempre garantir que o \0 esteja presente para indicar o final da string. Isso ajuda a evitar bugs e comportamentos inesperados no seu programa.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.