Ir para conteúdo
Fórum Script Brasil
  • 0

Questão 13 - Processo Seletivo n° 1005 - ITAIPU


PedroSobreira

Pergunta

A questão abaixo foi anulada e, como sou iniciante nos estudos de linguagem C, não consigo encontrar o erro. 

 

13 -  Considere o código ao lado, escrito em linguagem C:
Assinale  a  alternativa  que apresenta  o  valor  impresso  pelo 
programa.
a)  0.
b)  4.
c)  16.
d)  62.
e)  102.

 

/* ------------------------------- */
   #include <stdio.h>
   int funcao(char x)
   {
      int r;
      r = x & 20;
   }
   void main()
   {
      printf("%d", funcao(82));
   }
/* ------------------------------- */
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Olá, td certo? Então...

A função tem um parâmetro formal do tipo char, seu limite para inteiros positivos é 127. Logo o valor no argumento da fn está corretamente em seu limiar. Depois, no corpo da função, o parâmetro x é logicamente avaliando usado o operador bitwise, o operador & (E) opera bit a bit retornando a sequencia se e quando pelo menor dois bits são igualmente 1. No exemplo em questão a sequencia de bits comparada é: 

001 0100 & 101 0010, disso vemos que apenas o bit que se encontra na 5ª casa binária são iguais, assim sendo a função retorna: 

001 0000, logo a resposta correta é a C) Contudo para essa resposta acontece é necessário que a função estivesse retornando o valor r, só que ela não está. Ou seja, faltou a instrução de retorno, o código corrigido deveria ser esse.

Código no final da funcao;

/* ------------------------------- */
   #include <stdio.h>
   int funcao(char x)
   {
      int r;
      r = x & 20;
      return r;
   }
   void main()
   {
      printf("%d", funcao(82));
   }
/* ------------------------------- */

Por essa razão a resposta correta é nenhuma das alternativas acima.

 

Editado por britivaldo
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...