C EXIT CODE bei einer do while loop? Warum?

SparkMonkay

Commander
Dabei seit
Feb. 2013
Beiträge
2.333
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
 

KTelwood

Banned
Dabei seit
Okt. 2013
Beiträge
6.434
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.
 
L

Lahatiel

Gast
Verändert es was, wenn du START und END nicht nur deklarierst, sondern mit 0 initialisierst?
 

SparkMonkay

Commander
Ersteller dieses Themas
Dabei seit
Feb. 2013
Beiträge
2.333
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. :(
 

NullPointer

Lt. Commander
Dabei seit
Okt. 2009
Beiträge
1.570
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).
 

SparkMonkay

Commander
Ersteller dieses Themas
Dabei seit
Feb. 2013
Beiträge
2.333
Ok, danke dir.
In der vorherigen war es das was die Ausführbar gemacht hat.

Danke.
 

guenni1704

Cadet 1st Year
Dabei seit
Sep. 2014
Beiträge
8
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
 
L

Lahatiel

Gast
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);

}
 

asdfman

Commander
Dabei seit
März 2008
Beiträge
2.315
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.
 

SparkMonkay

Commander
Ersteller dieses Themas
Dabei seit
Feb. 2013
Beiträge
2.333
@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
 
Top