C EXIT CODE bei einer do while loop? Warum?

SparkMonkay

Commander
Registriert
Feb. 2013
Beiträge
2.337
Moinsen Leute!
Nachdem mein Problem mit dem NP++ Plugin gelöst wurde, wofür ich dankbar bin, bitte ich um eine Erklärung.

Mein Code. Ganz einfache do while loop. Einen Startwert eingeben und einen Endwert eingeben. Dann wird in der Schleife zuerst der Startwert um 1 angehoben und dann ausgegeben mit printf. Es soll solange durchlaufen, bis der Startwert nicht mehr kleiner ist, als der Endwert.
LOOPWTF.PNG

Google hat mir das gegeben.
http://www.tldp.org/LDP/abs/html/exitcodes.html
255 steht dafür, dass meine Zahl außerhalb meines Integer Wertes liegen. Das kann nicht sein, denn die Zahl für START ist 1 und lieht innerhalb von dem Bereich von Integer.

Jetzt die Frage: Warum bekomme ich den EXIT CODE 255?
//EDIT:
BZW. Wie jetzt grade Exit code -1073741819
 
Variablen deklarieren ?(weiß nicht ob er das auch bei enen "scanf" aufruf macht)
int START, END;

Edit:

da a != Main werden die Variablen wohl woanders bekannt sein.
 
Verändert es was, wenn du START und END nicht nur deklarierst, sondern mit 0 initialisierst?
 
Es funktioniert dann.
int START=0;
int END=5;
Ausgabe:
Enter the number you want to end with
0
1
2
3
4
<<< Process finished. (Exit code 0)

Alles paletti. Nur nicht mit scanf nicht. :(
 
Versuch mal, bei den scanf()-Aufrufen ein & vor START bzw. END zu schreiben. Sonst landen deine Eingaben nicht da, wo du sie hinhaben willst, und die Variablen enthalten zufälligen Müll.

Edit: Zitat von http://www.cplusplus.com/reference/cstdio/scanf/
These arguments are expected to be pointers: to store the result of a scanf operation on a regular variable, its name should be preceded by the reference operator (&) (see example).
 
Ok, danke dir.
In der vorherigen war es das was die Ausführbar gemacht hat.

Danke.
 
Die musst die Adresse der Variablen an scanf uebergeben, sonst gibt es keine Werte zurueck:

int a;
scanf( "%d", &a );

:)

Steht ja oben schon. Kommt vom drüberfliegen ... Sorry
 
Mir war grad langweilig.

Falls du mal C++ machen willst:

Code:
#include <iostream>
using namespace std;

int main()
{
	int end, start;

	cout << "Enter the number you want to start with \n";
	cin >> start;

	cout << "Enter the number you want to end with \n";
	cin >> end;

	do
	{

		cout << start << endl;
		start++;

	} while (start < end);

}
 
Woher kommen eigentlich im Moment diese massenhaften C-Fragen? Und dann auch jedes Mal mit scanf(). Hat hier eine Schulklasse mit bösartig sadistischem Lehrer das Forum entdeckt?

Noch einmal fürs Protokoll:

1. Niemals. Unter keinen Umständen. Egal warum. Und wenn es noch so harmlos scheint: scanf() zu verwenden darf man sich nicht angewöhnen! Sofort vergessen und nie wieder auch nur daran denken!

2. Hausaufgaben hat man selber zu erledigen.
 
@asdfman
ROFL aber richtig.

nein, ich beschäftige mich einfach mit C, weil ich es naja, sagen wir mal Hobbymäßig mache.

Zu 1. : Warum? Was ist so falsch daran?
zu 2. : Es ist Hobbymäßig, nicht schulisch ;) Hab mein ABI dieses Jahr (2014) gemacht :p
 
Zurück
Oben