Considere o programa escrito em linguagem C:Assinale a alter...

Próximas questões
Com base no mesmo assunto
Q947316 Programação

Considere o programa escrito em linguagem C:

Imagem associada para resolução da questão

Assinale a alternativa correta que indica o valor da variável num para que o resultado impresso seja o valor 3 (três).

Alternativas

Comentários

Veja os comentários dos nossos alunos

GABARITO: D e E

Como suspeitei, no caso a questão tem 2 resposta. Podem testar.


#include <stdio.h>

int recursivo (int x){

  if (x <= 0)

    return (0);

  else

    return(1 + recursivo(x/100));

}

int main()

{

  int num = 100000;

  printf("%d \n", recursivo(num));


  return 0;

}

Lânderson Vieira o valor que você passou para o num foi 100000 (5 0s) quando o correto 1000000 (6 0s).

Cara Suellen Torralbo, no caso eu errei na digitação, essa questão a resposta certa é a (D) se você testar em qualquer compilador verá isso. Muito obrigado.

Alguém poderia me explicar o código?

A questão é relativamente simples. Lembre-se que ela fala de retorno é em inteiro.

valor = 15643

1 + recursivo de 15643

15643/100= 156 (parte inteira dessa divisão)

1+ recursivo de 156 (156/100=1)

1+(1+1) = 3

Fazendo os demais (e note que qualquer valor abaixo de 100 é zero)

valor = 8

1+ recursivo de 8

1+0=1

valor 132

1+ recursivo 132

1+1=2

valor 4567

1+recursivo 4567

1+recursivo de 45

1+1+0=2

Clique para visualizar este comentário

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