Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

thinkabout

[Resolvido] Subtracção / Adição - Ponteiros

Mensagens Recomendadas

thinkabout

Boas,

Devo estar a fazer asneiras na declaração dos ponteiros.


/*
Desenvolva uma função de nome calculo que receba por parâmetro dois inteiros A e B e
dois ponteiros para inteiro P e Q.
A função deve calcular a subtracção entre os dois inteiros e colocar a diferença no local referenciado por P.
Deve igualmente calcular a adição dos dois inteiros e colocar a soma no local referenciado por Q.

Escreva uma função main()  que lhe permita testar a função calcula  desenvolvida
anteriormente.
*/


int calculo(int a, int b, int *p, int *q)
{
int  subtracao, adicao=0;

adicao=a+b;
subtracao=a-b;

*q=adicao;
*p=subtracao;
}

int main()
{
int a=8,b=6, *p=NULL, *q=NULL;

calculo(a,b,p,q);

printf("Subtracao %d", *p);
printf("Soma %d", *q);
}

Editado por thinkabout

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Marzkor

A minha memoria diz que o ponteiro tem de apontar para alguma coisa!

A minha solução :

int a=8,b=6, *p, *q,c,d;
p=&c;
q=&d;

P.S Corrijam se estou errado

Editado por thoga31

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
thinkabout

Dai teres null quando não queres ter nada no começo e não vai aquilo apontar para uma localização que esteja a ser usada usas o null, penso eu de que.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Marzkor

E a onde é que guardas os dados, no endereço memoria NULL, tens que ter um lugar para guardar os dados.

Acho que tens de estudar melhor o conceito de apontador.

EDIT : NULL = NADA , ou seja nenhum endereço de memoria, se queres criar algum espaço de memoria usas o malloc ou calloc

Editado por Marzkor

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
thinkabout

:)

void calculo(int a, int b, int *p, int *q)
{
*p=a+b;
*q=a-b;
}

int main()
{
int a=8,b=6,p,q;

calculo(a,b,&p,&q);
printf("Subtracao %d \n", p);
printf("Soma %d \n", q);
}

Editado por thinkabout

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.