Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Alguem consegue enxergar o que esta errado?

Meu codigo esta assim, ele funcionou perfeitamente com exercício. Entretanto na hora do que peço o primeiro numero (a), ele pede 2x, só que ele soma como (a)+(a) na tela, e não com o (b);

Ex: ele pede o primeiro numero (a), depois pede ele de novo (a), depois ele pede o (b), para depois somar os 2 (a), não o (b)!

Não sei o que eu fiz de errado, alguem pode me apontar meu erro?

#include <stdio.h>

void soma(int* num, int* a, int* b){ 
    (*num) = (*a)+(*b);    
}

int main(){

    printf("***********************\n");
    printf("***Somas dos numeros***\n");
    printf("***********************\n");

    int a;
    int b;
    int num;

    printf("Digite o primeiro numero\n");
    scanf(" %d\n" ,&a);

    printf("Digite o segundo numero");
    scanf(" %d\n" ,&b);

    soma(&num, &a, &b);

    printf("%d + %d = %d\n", a, b, num);

    printf("resultado é = %d", num);

}

Queria saber onde eu errei, sei que o proposito do exercício não é esse, mas preciso entender o erro que eu fiz!

1 resposta
solução!

O "\n" dentro do scanf faz com que peça o número duas vezes, tente printar o "\n" separado em baixo:

#include <stdio.h>

void soma(int* num, int* a, int* b){ 
    (*num) = (*a)+(*b);    
}

int main(){

    printf("***********************\n");
    printf("***Somas dos numeros***\n");
    printf("***********************\n");

    int a;
    int b;
    int num;

    printf("Digite o primeiro numero\n");
    scanf("%d" ,&a);
    printf("\n");

    printf("Digite o segundo numero\n");
    scanf("%d" ,&b);
    printf("\n");

    soma(&num, &a, &b);

    printf("%d + %d = %d\n", a, b, num);

    printf("resultado é = %d", num);

}