Questões Informática Algoritmos e Estrutura de Dados

Considere o programa escrito em linguagem C: # include ...

Responda: Considere o programa escrito em linguagem C: # include int main () { int a[ ][4] = {1,2,3,4,5,6,7,8,9,10,11,12}; ...


1Q18943 | Informática, Algoritmos e Estrutura de Dados, Oficial do Exército, EsFCEx, Exército Brasileiro

Considere o programa escrito em linguagem C:

# include

int main ()

{

int a[ ][4] = {1,2,3,4,5,6,7,8,9,10,11,12};

int i;

for (i=0;i<3;++i)

   printf ( "%d", *(a[i]+1));

}

O resultado impresso será:
  1. ✂️
  2. ✂️
  3. ✂️
  4. ✂️
  5. ✂️

💬 Comentários

Confira os comentários sobre esta questão.
Ingrid Nunes
Por Ingrid Nunes em 31/12/1969 21:00:00
Vamos analisar o código passo a passo para entender o que será impresso.

Primeiro, temos a declaração de uma matriz `a` de duas dimensões, mas sem especificar o número de linhas, apenas o número de colunas que é 4. Os valores são inicializados como `{1,2,3,4,5,6,7,8,9,10,11,12}`. Como cada linha deve conter 4 elementos (devido à declaração `[ ][4]`), a matriz `a` é organizada da seguinte forma:
```
a[0] = {1, 2, 3, 4}
a[1] = {5, 6, 7, 8}
a[2] = {9, 10, 11, 12}
```

O loop `for` itera com a variável `i` de 0 a 2. Dentro do loop, a função `printf` é chamada com o argumento `"%d", *(a[i]+1)`. Aqui, `a[i]` é o endereço da primeira coluna da i-ésima linha, e `a[i]+1` é o endereço da segunda coluna da i-ésima linha. O operador `*` é usado para dereferenciar o endereço, ou seja, para obter o valor armazenado nesse endereço.

Portanto, `*(a[i]+1)` acessa o segundo elemento de cada linha da matriz:
- Para `i=0`, `*(a[0]+1)` é `2`.
- Para `i=1`, `*(a[1]+1)` é `6`.
- Para `i=2`, `*(a[2]+1)` é `10`.

Assim, o programa imprime `2610` sequencialmente, sem espaços ou quebras de linha.

Gabarito: e) 2610
⚠️ Clique para ver os comentários

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

Ver comentários
Utilizamos cookies e tecnologias semelhantes para aprimorar sua experiência de navegação. Política de Privacidade.