Problem mit assert() unter C

MCIglo

Gesperrt
Ich bin dabei, C zu lernen. Und für heute wollte ich eigentlich die Bereiche der komplexen Datentypen und assert(); behandeln. Allerdings funktioniert assert() nicht, wie es soll :(
Code:
#include <stdio.h>
#include <assert.h>
   
void main(int argc, char *argv[]) {
	
	int auswahl=0;
	
	scanf("%i",&auswahl);
	assert(auswahl != 2);
	printf("%i",auswahl);
}

K:\c\helloworld\helloworld\Release>helloworld
1
1
K:\c\helloworld\helloworld\Release>helloworld
2
2
K:\c\helloworld\helloworld\Release>helloworld
3
3
Bei 2 sollte ja aber eigentlich ein Fehler auftreten.

P.S. MS VC++ .Net kommt als Entwicklungsumgebung zum Einsatz
 
assert wird abgeschalet über das define NDEBUG.
Vielleicht erstellst du deine Version, mit definiertem Symbol NDEBUG.
 
Ahhh, Danke :)

K:\c\helloworld\helloworld\Release>helloworld
1
1
K:\c\helloworld\helloworld\Release>helloworld
2
Assertion failed: auswahl != 2, file .\world.c, line 17

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

K:\c\helloworld\helloworld\Release>helloworld
3
3

Warum das so war, ist mir aber ein Rätsel. Ich habs ja extra als Release kompiliert, damit sowas nicht vorkommen kann :-/
 
Zuletzt bearbeitet:
Zurück