Informática, perguntado por leisemaudio, 1 ano atrás

No exato momento que criamos uma STRING na linguagem C, sabemos que o compilador adiciona um caracter de final de STRING. Isto pode influenciar os dados armazenados nesta string. Se tivermos uma string armazenada com 50 caracteres, quantos destes seriam válidos para o usuário?
ALTERNATIVAS

50


51


49


52


48

Soluções para a tarefa

Respondido por cledersonbc
0
O caractere nulo "\0" deve sempre estar no fim cadeia. Ex.:
char casa[5] = {'c', 'a', 's', 'a'};
Neste caso acima o caractere nulo será adiciona no último espaço, o espaço 4. Já que o espaço 0, 1, 2 e 3 estão ocupados.
Se fosse char casa[4] = {'c', 'a', 's', 'a'}; com certeza daria erro (aqui no Linux usando GCC não dá, não sei porquê).

Logo uma String de tamanho X, precisa ter um total de caracteres igual X-1, sendo o último espaço reservado ao caractere nulo que indica o fim cadeia ao compilador. Respondendo a pergunta: seria 50 - 1, igual a 49.
Resposta: 49
Perguntas interessantes