/* atk1 h6t3 -- lisää pointtereita */ #include /* ask-funktio kysyy käyttäjältä kaksi reaalilukua */ void ask(double*,double*); /* sum ja product laskevat reaalilukujen summan ja tulon */ double sum(double*,double*); double product(double*,double*); main() { /* alustetaan x ja y lukuvaikeuksien välttämiseksi */ double x=0.0,y=0.0; /* luodaan kaksi pointteria double-tyyppiseen tietoon */ double *p, *q; p=&x; q=&y; ask(p,q); printf("x+y = %.2lf\n",sum(p,q)); printf("x*y = %.2lf\n",product(p,q)); } void ask(double* p, double* q) { /* nyt p ja q ovat reaalilukutyyppisten muuttujien muistipaikan osoitteita, joten ne kelpaavat scanf-funktion argumenteiksi */ printf("Enter x: "); scanf("%lf",p); printf("Enter y: "); scanf("%lf",q); } /* lasketaan kahden reaaliluvun summa käyttäen pointtereita reaalilukutyyppisiin muuttujiin */ double sum(double* p, double* q) { return ((*p)+(*q)); } double product(double* p, double* q) { /* ole varovainen *-merkkien kanssa */ return ((*p)*(*q)); }