1. #INFO beim Debuggen
-
Wenn ich meinen Code versuche zu debuggen dann steht bei 2 Variablen statt der gedachte Wert
1. #INFO . Ich habe mal wieder garkeine Ahnung was das bedeutet.
Bitte helft mir.
-
soll das vielleicht 1.#INF heißen und für Infinity stehen?
-
Ja stimmt.
Das ist wohl kein Buchstabe sondern eine Null.
-
Kann es sein das das bedeutet das der Wert null ist?
Ich habe das Problem gefunden. Es lag daran das ich geschrieben habe:float test; scanf("%d",test);
statt
float test; scanf("%f",test);
-
Wenn es 0 wär, würde 0 ausgegeben werden.
-
Ernd schrieb:
Kann es sein das das bedeutet das der Wert null ist?
Ich habe das Problem gefunden. Es lag daran das ich geschrieben habe:float test; scanf("%d",test);
statt
float test; scanf("%f",test);
Und so wirst du auch weiterhin Fehler bekommen. Du hast da was wichtiges vergessen:
&
-
Ähm ja stimmt.
Ich habe das in meinen Code schon drin. Nur hier vergessen. Ich habe schon viel davon gelesen nur wieso das soooo wichtig ist verstehe ich nicht.
Ich weis nur ohne das funktionierts halt nicht.
-
Ernd schrieb:
Ich habe schon viel davon gelesen nur wieso das soooo wichtig ist verstehe ich nicht.
Ich weis nur ohne das funktionierts halt nicht.Lies in deinem Lieblingsbuch mal über Zeiger nach:
stell dir scanf mal etwas primitiver vor:
void scanf(char c) { c=getchar(); }
Wenn wir das so schreiben, wird das nicht klappen. Denn c ist eine lokale Kopie der übergebenen Variablen.
Deshalb müssen wir mit Zeiger arbeiten:
void scanf(char* c) { *c=getchar(); }
Und schon funktioniert es. Denn c zeigt auf den Speicher, den die zu ändernde Variable belegt.
-
Ich werde mich damit beschäftigen.