Buscar

Analisando o código fonte abaixo: #include func(int *a, int b) { int temp; temp = *a; *a = b; b = temp; } void main() { int a = 10, b = ...

Analisando o código fonte abaixo: #include func(int *a, int b) { int temp; temp = *a; *a = b; b = temp; } void main() { int a = 10, b = 20; func(&a, b); printf("a = %d, b = %d", a, b); } Executando este código, será apresentado na tela:
A a = 10, b = 20
B a = 20, b = 10
C a = 10, b = 10
D a = 20, b = 20
A a = 10, b = 20
B a = 20, b = 10
C a = 10, b = 10
D a = 20, b = 20

Essa pergunta também está no material:

Linguagem de Programação
51 pág.

Linguagem de Programação II Ciebja Uninter - Ef M PCiebja Uninter - Ef M P

Respostas

User badge image

Ed Verified user icon

Analisando o código fornecido, a resposta correta é a alternativa B) a = 20, b = 10. Isso ocorre porque a função `func` recebe o endereço de memória de `a` e o valor de `b`, troca os valores entre `a` e `b`, mas essas alterações são locais à função, não afetando os valores originais de `a` e `b` na função `main`.

0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Responda

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image