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

lugh

Parâmetros por referência

Mensagens Recomendadas

lugh

Boas!

#include <stdio.h>
#include <stdlib.h>

void data(int *dia, int *mes, int *ano);

int main(void)
{
  int dia, mes, ano;
  data(&dia, &mes, &ano);
  printf("[dd-mm-aa]:%d %d %d\n", dia, mes, ano);
  system("PAUSE");	
  return 0;
}



void data(int *dia, int *mes, int *ano) {
  printf("Dia?\n");
  fflush(stdin);
  scanf("%d", &dia);
  printf("Mes?\n");
  fflush(stdin);
  scanf("%d", &mes);
  printf("Ano?\n");
  fflush(stdin);
  scanf("%d", &ano);     
}

Como é que posso fazer para os valores chegarem (como deve de ser) ao main?

Obrigado!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pedrosorio

Repara que nos scanf não tens que usar o endereço das variáveis, mas sim o conteúdo, porque dia, mes e ano dentro da função data estão definidos como apontadores.


Não respondo a dúvidas por mensagem.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
lugh

Obrigado pedrosorio!

Assim sendo fica,

#include <stdio.h>
#include <stdlib.h>

void data(int *dia, int *mes, int *ano);

int main(void)
{
  int dia, mes, ano;
  data(&dia, &mes, &ano);
  printf("[dd-mm-aa]:%d %d %d\n", dia, mes, ano);
  system("PAUSE");	
  return 0;
}



void data(int *dia, int *mes, int *ano) {
  printf("Dia?\n");
  fflush(stdin);
  scanf("%d", dia);
  printf("Mes?\n");
  fflush(stdin);
  scanf("%d", mes);
  printf("Ano?\n");
  fflush(stdin);
  scanf("%d", ano);     
}

Cheers!

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.