Ir ao conteúdo

C exercicio em c - explicar código 3


Ir à solução Resolvido por devair1010,

Posts recomendados

Postado

Alguem poderia me ajudar a ver se tem algum erro nesse código, e o que ele imprimi?

#include <stdio.h>
int main()
{
int a, b, c;
int *ptr1, *ptr2;
a = 12;
ptr1 = &c;
ptr2 = b;
c = 5;
*ptr2 = (*ptr1 + c) % a;
printf("a = %d\n", a);
printf("b = %d\n", b);
printf("c = %d\n", c);
return 0;
}

 

1 minuto atrás, Loris_mini disse:

ptr2 = b;

o erro eu achei que seria aqui.

Esta faltando o &

ficaria 

ptr2 = &b;

No caso esse código esta imprimindo os valores de a, b e c ?

  • Solução
Postado

@Loris_mini      creio que uma explicação é  que o ponteiro aponta para o endereço da variável e assim  tanto o ponteiro como a variável compartilham o mesmo endereço de memória , e

se modificar o valor de um também modifica o outro .  e o mais certo mesmo seria reservar espaço na memória usando a função malloc e no final liberar esse espaço usando a função free .

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...