Questão nº 29

Questão de Tecnologia da Informação · FCC TRE-PR 2017 (nº 29)

FCC2017Técnico Judiciário - Área Apoio Especializado - Especialidade Programação de SistemasTecnologia da Informação
Gabarito: Cver comentário ↓

Considere o seguinte código PHP:

<?php
   function calc(&$var)
   {
       $var++;
   }
   $a=5;
   calc($a);
   $a+=5;
   echo $a;
?>

Ao executar o código, o valor exibido será

Resposta comentada

Gabarito Alternativa C

Quando uma variável é passada para uma função por referência (indicado pelo &), a função trabalha diretamente com a variável original, e qualquer mudança dentro da função afeta a variável fora dela. Se fosse por valor, a função receberia apenas uma cópia, e a variável original não seria alterada.

  • A) Incorreta: Esta seria a resposta se a passagem fosse por valor (sem o & na função), onde $a permaneceria 5 após calc($a), e então 5 + 5 = 10.
  • B) Incorreta: O cálculo não resulta neste valor.
  • (C) Correta: Inicialmente, $a = 5. A função calc(&$var) recebe $a por referência. Dentro da função, $var++ incrementa o valor de $a para 6. Após a chamada da função, $a agora vale 6. Em seguida, $a += 5 adiciona 5 ao valor atual de $a, tornando-o 6 + 5 = 11. Finalmente, echo $a exibe 11.
  • D) Incorreta: Este seria o valor de $a após a chamada de calc($a), mas antes da operação $a+=5;.
  • E) Incorreta: O cálculo não resulta neste valor.

Fonte: FCC TRE-PR 2017 Técnico Judiciário - Área Apoio Especializado - Especialidade Programação de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho