De asemenea tu la scanf("%d,%d", a, b); ai pus virgulă și nu se pune!
Trebuia scanf("%d%d", a, b);
Iar tu când afișezi suma nu afișezi s ci *s că așa îți dă adresa sumei și normal că îți va da un număr mare care nu e suma ci adresa ei!
Acum merge:
https://postimg.org/image/txqjur20z/
#include
#include
int main()
{
int *a, *b, *s;
a=malloc(sizeof(int));
b=malloc(sizeof(int));
scanf("%d,%d", a, b);
s= (int*)malloc(sizeof(int));
*s=*a+*b;
printf("Suma este %d", s);
return 0;
}
Momentan imi ruleaza programul, doar ca odata ce introduc o valoare de la tastatura imi returneaza imediat un numar foarte mare. Ma gandesc ca am gresit eu, dar nu stiu ce mai exact, iar numarul introdus de mine cred ca este considerat o adresa. Si programul imi returneaza valoarea de la acea adresa. Asa e?
Nu cumva a si b trebuie sa fie variabile normale, nu pointere?
Am descifrat un pic, nu sunt sigura, caci eu fac in C++ la liceu.
Si in c++ cum s-ar rezolva problema?
La a și b nu trebuia să scrii ceva gen a= (int*)malloc(sizeof(int));? (cum ai făcut la s)
Am inteles. Multumesc. Am corectat si rulează.
De asemenea tu la scanf("%d,%d", a, b); ai pus virgulă și nu se pune!
Trebuia scanf("%d%d", a, b);
Iar tu când afișezi suma nu afișezi s ci *s că așa îți dă adresa sumei și normal că îți va da un număr mare care nu e suma ci adresa ei!
Acum merge:
https://postimg.org/image/txqjur20z/
LisaJulie întreabă: