Problem beim einlesen von double
-
Hallo, ich mach schon seit einiger Zeit Java und hab gerade mit C angefangen. Nun hab ich ein einfaches Programm geschrieben das mir zwei double Werte einlesen soll, ein bisschen rechnen und das ganze wieder ausspucken. Leider bekomme ich als eingelesenen Wert immer nur 0.000000 angezeigt. Ich benutze den compiler von Visual c++ 6
#include <stdio.h> void main() { double r1; //Widerstand 1 double r2; //Widerstand 2 double r3; //Gesamtwiderstand printf("Berechnet den Gesamtwiderstand von 2 parallelen Widerstaenden\n"); printf("*************************************************************\n\n"); printf("Geben sie den Wert fuer R1 ein: "); scanf("%lf", &r1); printf("\n Geben sie den Wert fuer R2 ein: "); scanf("%lf", &r2); r3=1/((1/r1)+(1/r2)); printf("Die Widerstaende %lf und %lf haben einen Widerstand von %lf", &r1, &r2, &r3); }
Ich verstehs einfach nicht warum das nicht geht.
-
bei printf kein &
das & brauchst du nur bei scanf, weil du hier ein 'call by reference' brauchst - da du die variablen ja verändern willst.bei printf willst du nix ändern - also brauchst du auch keine zeiger...
-
Wow, das war aber ne promte Antwort. Ich hab jetzt 3 Stunden an dem Käse rum gemacht und bin schier verzweifelt.
Bei dem Thema Zeiger bin ich leider noch nicht. Deshalb hab ich nicht gewusst das das & die Notation dafür ist.Vielen Dank
*closed*
-
& ist die notation für eine referenz
* ist für zeiger
-
otze schrieb:
& ist die notation für eine referenz
In dem Fall war das & aber der Adressoperator...