Logo Passei Direto
Buscar
Considere o programa em linguagem C a seguir: #include int main() { float vetor[10]; vetor[2] = 3; printf("O valor do vetor na posição 0 é %d\n", vetor[0]); printf("O valor do vetor na posição 1 é %d\n", vetor[1]); printf("O valor do vetor na posição 2 é %.20f\n", vetor[2]); return 0; } Analise as afirmações a seguir: I – Como o vetor não foi inicializado, os elementos vetor[0] e vetor[1] possuem valores indefinidos (lixo de memória). II – O uso de %d para imprimir vetor[0] e vetor[1] é incorreto, pois %d espera um inteiro, mas foi passado um float, o que gera comportamento indefinido. III – A instrução printf("O valor do vetor na posição 2 é %.20f\n", vetor[2]); exibirá o número 3.00000000000000000000, considerando o formato de saída com 20 casas decimais. A B C D E ALGORITMOS E PROGRAMAÇÃO Turma ALGORITMOS E PROGRAMAÇÃO (261GGR0049A) Período 20261 1 PONTO Somente I está correta.
User badge image
Gustavo Alexandrowitch Pedreira

mês passado

Respostas

User badge image

Ed Verified user icon

mês passado

Vamos analisar cada uma das afirmações: I – Como o vetor não foi inicializado, os elementos vetor[0] e vetor[1] possuem valores indefinidos (lixo de memória). Verdadeiro. Em C, se um vetor não é explicitamente inicializado, seus elementos contêm valores indefinidos. II – O uso de %d para imprimir vetor[0] e vetor[1] é incorreto, pois %d espera um inteiro, mas foi passado um float, o que gera comportamento indefinido. Verdadeiro. O especificador %d é para inteiros, e como vetor[0] e vetor[1] são do tipo float, isso pode causar comportamento indefinido. III – A instrução printf("O valor do vetor na posição 2 é %.20f\n", vetor[2]); exibirá o número 3.00000000000000000000, considerando o formato de saída com 20 casas decimais. Falso. Embora o valor de vetor[2] seja 3, a saída será 3.00000000000000000000, mas a formatação correta para um float é %.1f ou %.2f, e não necessariamente 20 casas decimais, que pode não ser representável exatamente em binário. Portanto, as afirmações I e II estão corretas, enquanto a III está incorreta. A alternativa correta que contém todas as afirmações verdadeiras é: "Somente I e II estão corretas". Como não há uma opção que mencione isso, a resposta correta é que as afirmações I e II estão corretas.

Essa resposta te ajudou?

0
Dislike0
details

Libere essa resposta sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Ainda com dúvidas?

Envie uma pergunta e tenha sua dúvida de estudo respondida!

Mais conteúdos dessa disciplina