warum das programm terminiert?
-
Hallo Zusammen , könnt bitte jemand mir erklären warum das Program terminert , wenn man auf dem Programm für die Eingabe -1 gegeben hat.
#include "stdafx.h"
#include <iostream>
using namespace std;int main()
{
int x;cout << "Bitte x eingeben: " << endl;
cin >> x;int fak = 1;
while (x != 0)
{
fak = fak * x;
x--;
}cout << "Die Fakultaet von x ist: " << fak << endl;
system("pause");
return 0;
}
-
killerontheroad schrieb:
Hallo Zusammen , könnt bitte jemand mir erklären warum das
Program terminert , wenn man auf dem Programm für die Eingabe -1 gegeben hat.Das Programm fängt bei -1 an und subtrahiert in jedem Durchlauf -1 und
beendet sich wenn x den Wert 0 hat. Wo ist denn das Problem ?VG
merano
-
Ich glaub , das war schon die Antwort , die ich genau wissen möchten. Danke sehr Merano!
-
Ich denke, daß x solange dekrementiert wird bis es zum unteren Ende von sizeof(int) kommt.
merano's Antwort ist richtig würde aber von mir trotzdem nur eine miese Note bekommen.
-
hab nätürlich nicht sizeof sondern minus-irgendwas gemeint. kann um 04 Uhr morgens schon mal vorkommen
-
Wie wärs mit
unsigned int
für x?