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
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
Matemática,
8 meses atrás
História,
8 meses atrás
História,
8 meses atrás
Matemática,
1 ano atrás
Matemática,
1 ano atrás
Matemática,
1 ano atrás
Matemática,
1 ano atrás