#include <stdio.h>
main(){
printf("Podaj dwie liczby rzeczywiste: \n");
int i1, i2;
int i3 = i1 + i2;
scanf("%d %d", i1, i2);
printf("%d", i3);
return 0;
}
chcialbym zapytac co jest zle w scanf ?
#include <stdio.h>
main(){
printf("Podaj dwie liczby rzeczywiste: \n");
int i1, i2;
int i3 = i1 + i2;
scanf("%d %d", i1, i2);
printf("%d", i3);
return 0;
}
chcialbym zapytac co jest zle w scanf ?
To że nie przeczytałeś w dokumentacji jakie parametry przyjmuje scanf.
http://www.cplusplus.com/reference/cstdio/scanf/
ahh juz wiem, zapomnialem o &, dzieki. ale wynik cos zly, dlaczego ?
Bo wykonujesz obliczenia zanim wczytałeś dane...
Piszesz w języku imperatywnym i kod jest wykonywany krok po kroku. To:
int i3 = i1 + i2;
nie jest funkcja tylko wykonanie konkretnego obliczenia na konkretnych wartościach. Ewaluacja jest gorliwa, tzn wykonuje się tam gdzie ją umieścisz w kodzie.
Istnieją języki programowania z tzw leniwą ewaluacją gdzie następuje ona dopiero tam gdzie jest potrzebna...
Ahhh, przepraszam, juz mam dzieki :)
włącz sobie opcję -Wall
bo kompilator od razu wykrywa ten błąd:
http://melpon.org/wandbox/permlink/oJSUveCRs0OwU6EL