Ausnahme Fehler
-
#include <stdio.h> int main() { float celsius; printf("\nBitte Grad Celcius eingeben : "); scanf("%f",celsius); printf("\n%f Celsius",celsius); printf("\n%f Farenheit\a",celsius*9/5+32); }
Wenn ich
printf("\n%f Farenheit\a",celsius*9/5+32);
benutze, bekomme ich einen ausnahme fehler
Bitte Grad Celcius eingeben : 8 Unbehandelte Ausnahme: System.AccessViolationException: Es wurde versucht, im ge schützten Speicher zu lesen oder zu schreiben. Dies ist häufig ein Hinweis darau f, dass anderer Speicher beschädigt ist. bei scanf(SByte* ) bei main() in c:\dokumente und einstellungen\jan\eigene dateien\programmieren c\projekte\übungs_cpp\übungs_cpp\übung.cpp:Zeile 7. Drücken Sie eine beliebige Taste . . .
Was mache ich Falsch?
-
1. scanf erwartet Zeiger
2. Fahrenheit wird mit "h" geschrieben
-
Das Problem liegt in Zeile 7. scanf() erwartet hier als zweites Argument einen Zeiger auf float.
Edit: Und zu langsam.
-
ok und wie integrier ich so ein zeiger ? ^^
-
scanf("%f", &celsius); ... printf("\n%f Farenheit\a", (celsius*9)/5+32);
so funktioniert es bei mir
-
PimmelHoden schrieb:
ok und wie integrier ich so ein zeiger ? ^^
08mmarte's Beispiel ist korrekt. Du musst die Adresse von celsius übergeben, Herr Hoden. Das macht man mit dem Adress-Operator (&). Google mal nach Pointern...