PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : C: Rechner funktioniert nicht! Falsches Ergebnis



Wally
08-12-2003, 16:08
Hi

Ich versuche mich gerade an C. gcc meldet bei folgenden Code keinen Fehler, aber trotzdem funktioniert das Programm nicht Richtig. Warum?


#include <stdio.h>

int main()

{
int zahl1,zahl2;
int ergeb;
ergeb=zahl1+zahl2;
printf("Geben sie die 1. Zahl ein: ");
scanf("%d", &zahl1);
printf("Geben sie die 2. Zahl ein: ");
scanf("%d", &zahl2);
printf("%d+%d=%d\n",zahl1,zahl2,ergeb);
return 0;

}

mfg. Wally :cool:

guardian
08-12-2003, 16:32
Liegt daran weil du bei deinem Programm die Variable ergebnis schon vor der Eingabe der Zahlen berechnen lässt. Solltest du aber erst der Eingabe machen lassen, sonst kommen irgendwelche zufälligen Zahlen raus (da du sie bei der Definition auch nicht mit nem Wert initalisierst :))

MfG guardian

axeljaeger
08-12-2003, 16:35
Versuch doch mal, deine %d in dem Formatstring durch %i zu ersetzen. Du rechnest ja mit Integern und nicht mit doubles.

Wally
08-12-2003, 16:38
Hi

Danke guardian!

mfg. Wally :cool:

guardian
08-12-2003, 16:48
Original geschrieben von axeljaeger
Versuch doch mal, deine %d in dem Formatstring durch %i zu ersetzen. Du rechnest ja mit Integern und nicht mit doubles.
Ähem ... also der Formatstring (http://ccs.ucsd.edu/c/lib_scan.html#Scan Conversion Specifiers) %d stimmt schon. Für double-Werte sollte man %lf benutzen :) (%d = decimal)

MfG guardian