Considere o seguinte programa escrito na linguagem C#include...

Próximas questões
Com base no mesmo assunto
Q1121272 Programação
Considere o seguinte programa escrito na linguagem C

#include <stdio.h>
main ()
{char ex3[5]={'z','k','w','x','v'};
int cont1;
cont1=2;

printf ("%c %c",ex3[cont1+1], ex3[4]+cont1);}

Ao executar esse programa, é apresentado como resposta:
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: D - x x

Para compreender a questão e a alternativa correta, precisamos analisar o código em C e entender como a linguagem lida com arrays e operações com caracteres.

O programa define um array ex3 de caracteres com 5 elementos: {'z', 'k', 'w', 'x', 'v'}. Em seguida, ele cria uma variável cont1 e atribui a ela o valor 2.

Na função printf, o programa tenta imprimir dois caracteres: ex3[cont1+1] e ex3[4]+cont1. O primeiro caractere a ser impresso é o elemento na posição cont1+1, que é 2+1 = 3, ou seja, o quarto elemento do array ex3, que é 'x'.

Para o segundo caractere, a expressão ex3[4]+cont1 pega o último elemento do array (pois os índices começam de 0) que é 'v' e soma a cont1, ou seja, 'v' (que tem valor ASCII 118) + 2. Isso resulta no caractere de valor ASCII 120, que corresponde ao caractere 'x'.

Portanto, a saída do programa será x x, o que torna a alternativa D a correta. O conhecimento necessário envolve a compreensão de arrays, indexação, operações com caracteres em C e a tabela de valores ASCII.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

"D"= xx

Devo imprimir necessariamente 2 chars (%c).

1º: ex3[cont1+1] = ex3[3] = 'x'

2º: ex3[4] + cont1 = 'v' + 2 = 'x'

.

Note que no segundo elemento está somando 'v' com 2, que é 'x'.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo