Programm falsches Ergebnis & Zuweisungen
-
Guten Morgen
Hab 2 Fragen
Ich versuche gerade herauszufinden welche dieser Zuweisungen falsch sind.
Für mich sind die ersten zwei falsch, die unteren 3 Zuweisungen finde ich eigentlich ganz normal.
Oder ist mir da ein Fehler unterlaufen?summe = summe + 10
x*x = x*5
5a = anfang + ende
wert = eingabe + alter_wert * 2
g_betrag = betrag * 1.14Zweite Frage
Wieso liefert mir dieser Code als Ergebnis 20?
Weil ich summe 2x initialisiert habe oder steckt da mehr dahinter?#include <stdio.h> int main() { double summe, zahl; zahl = 10; summe = summe + zahl; summe = summe + zahl; printf("Ergebnis = %f",summe); }
-
Guten morgen,
mu schrieb:
summe = summe + 10 //<-- zulässig x*x = x*5 //<-- nicht erlaubte zuweisung 5a = anfang + ende //<-- nicht erlaubte zuweisung wert = eingabe + alter_wert * 2 //<-- zulässig g_betrag = betrag * 1.14 //<-- zulässig
Im folgenden Code hast du einen Fehler gemacht:
mu schrieb:
#include <stdio.h> int main() { double summe, zahl; zahl = 10; summe = summe + zahl; //<-- FEHLER! summe = summe + zahl; printf("Ergebnis = %f",summe); }
Du verwendest an der angegebenen Stelle summe, obwohl du die Variable
nicht initialisiert hast. Richtig wäre:#include <stdio.h> int main() { double summe, zahl; summe = 0.; //<-- summe initialisieren zahl = 10.; //<-- zahl ist double, also auch mit double initialisieren. summe = summe + zahl; summe = summe + zahl; printf("Ergebnis = %f",summe); return 0; //<-- hast du vergessen }
Was passiert jetzt hier:
Zeile 10:
summe = 0. + 10.;
Zeile 11:
summe = 10. + 10.;
Also ist das Ergebnis 20.
Gruß mcr
-
richtig: summe = summe + 10 ;
falsch: x*x = x*5 ;
falsch:5a = anfang + ende ;
richtig: wert = eingabe + alter_wert * 2 ;
richtig: g_betrag = betrag * 1.14 ;double summe, zahl; zahl = 10; //summer = 0 summe = summe + zahl; //summe= 10, da 0 +10 = 10 ist summe = summe + zahl; //summe=10, da 10+10=20 ist
was mich wunderst, summe soltle du am anfang mit 0 initalisieren.,.
-
Variabelnamen dürfen am anfang keine Zahlen beeinhalten, habs eben gelesen.
wegen der summe.
In meinem Buch steht nur, das nur "unter Umständen" ein falsches ergebnis geliefert wird.Wann? bis jetzt hats immer 20 ausgegeben, obwohl nicht initialisiert war
-
in Visual studio wird im debug modus die variabeln evtl. automatisch auf 0 initalisiert.. wenn du release kompilierst steht irgend ein wert drin..
als du sollte varialben immer initaliseren
-
arbeite im moment mit eclipse.
sowas wird nicht angezeigt
-
gut, dann kann es sein das eclipse die variablen automatisch auf 0 initalisieert.. aber gewöhn dir an die variablen selber zu initalisieren
-
BorisDieKlinge schrieb:
gut, dann kann es sein das eclipse die variablen automatisch auf 0 initalisieert
und wie soll eclipse das machen? nach dem build nochmal die .exe patchen oder wie?
-
????? wieso patchen.. die exe wird ja von eclipce generiert.. da kann der compiler ja solche std. initaliseren miteinfügen... aber ich sag ja ich kenn eclipse nich