Informática, perguntado por mariaketlin3084, 1 ano atrás

Durante a passagem de valores na entrada de sub-rotinas, eles podem ser passados por valor ou por referência. Assim sendo, analise o código a seguir:


#include

int x;

// Passagem por referência

void teste1(int *x) {

*x = 5;

}

// Passagem por valor

void teste2(int x)

{ x = 0;

}

int main() {

x = 3;

teste1 (&x);

printf("%d\ n", x + 4);

teste2(x);

printf("Va lor final: %d\n", x);

return 0;

}


Considerando o código apresentado, assinale a alternativa que indica o valor correto de x ao final da execução:


ALTERNATIVAS


0


3


5


7


9

Soluções para a tarefa

Respondido por peu15santos
2

Valor de x = 5:

Funções do tipo void como definidas acima correspondem a funções que não retornam um valor. No entanto, o símbolo '*' na definição dos parâmetros real e imaginário da função complexo2 indicam que esses parâmetros PODEM ser modificados dentro da função, ou seja, alterações que esses parâmetros sofrerem serão sentidas FORA da função, que correspondem aos efeitos colaterais que NÃOO OCORREM quando os parâmetros são passados por valor (sem o uso do caractere '*').

https://www.ime.usp.br/~elo/IntroducaoComputacao/Funcoes%20passagem%20de%20parametros.htm

Perguntas interessantes