Ir ao conteúdo

Posts recomendados

Postado

Quando digito os dois valores e dou enter o programa simplesmente trava.. Não to conseguindo achar o erro. Alguém pode me ajudar ?

/* 4. Faça um programa que leia 2 valores inteiros e chame uma função que receba
estas 2 variáveis e troque seu conteúdo, ou seja, esta função é chamada passando
duas variáveis A e B por exemplo, e após a execução da função A conterá o valor
de B e B terá o valor de A;*/
#include<stdio.h>
#include<stdlib.h>
#include<locale.h>
int receba_A(int A)
{
    int *A_pont,*B_pont;
    setlocale(LC_ALL,"Portuguese_Brazil");
    printf("Digite o valor da variável A \n");
    A_pont = &A;
    scanf("%d",A_pont);
    return *A_pont;
}
int receba_B(int B)
{
    int *A_pont,*B_pont;
    setlocale(LC_ALL,"Portuguese_Brazil");
    printf("Digite o valor da variável B\n");
    B_pont = &B;
    scanf("%d",B_pont);
    return *B_pont;
}
int main ()
{
    int A, B, aux, *A_pont,*B_pont;
    *B_pont = receba_B(B);
    *A_pont = receba_A(A);
    aux = *B_pont;
    *B_pont = *A_pont;
    *A_pont = aux;
    printf("Valor de A: %d \n Valor de B: %d",*A_pont,*B_pont);
    return 0;
}

 

Postado

@Lucas Tezolini Herler Boa tarde.

Pois bem, para resolver o problema bastaria uma funcao.

Nessa única funcao voce vai passar as variaveis a e b por referencia, ou seja, usando o &.

Dentro da funcao foi cria uma variavel temporia e pronto.

 

main(){
   int a,b;
.... /// Desenvolve o seu codigo aqui, lendo as variaveis

void troca(int *a, int *b);
troca(&a,&b);
}
void troca(int *a, int *b){
	int tem;
	tem= *b;
	*b=*a;
	*a=tem;
}

 

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...