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
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
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
Inglês,
10 meses atrás
Sociologia,
10 meses atrás
Química,
10 meses atrás
Matemática,
1 ano atrás
Matemática,
1 ano atrás
Física,
1 ano atrás
Matemática,
1 ano atrás