Bug in Dev-C++ 4.9.8.0?
-
Ich hab folgenden Code
#include <stdio.h> short foo ( void ) { short Column = 0; short fooo = 3; do { fprintf(stdout,"\n\t\tWelche Reihe: "); fscanf(stdin,"%d",&Column); if ( Column >= fooo ) { fprintf(stdout,"\n\t\tFalsche Eingabe. Bitte wiederholen."); } /* Wenn Column < fooo, dann Absturz??? */ }while ( Column >= fooo ); return Column; } int main ( int argc, char** argv ) { short foobar = 0; foobar = foo(); return 0; }Ich gebe für Colummn einen Wert kleiner fooo ein und das Programm beendet sich mit einer "Programmfehler"-MessageBox. Durch Austesten konnte ich jetzt die Bedingung in der while-Schleife als Fehlerquelle ausmachen, aber warum?
Habe ich evtl was übersehen (schlaflose Nacht
) oder kann jemand den Fehler reproduzieren oder weiß Hilfe? Wenn ich Column und fooo als int deklariere, klappt das Programm einwandfrei... 
-
Mit dem Formatstring in fscanf liest du ints ein, und keine shorts. Entweder du änderst den Typ dahingehend oder du änderst den Formatstring.
-
thx.
mit %hd klappt nun alles einwandfrei
