Hallo, On Fri, 13 Jun 2003, Thorsten Haude wrote:
Moin,
* David Haller
[2003-06-13 16:55]: Besser waere also sowas:
int a = 0; int r;
r = scanf("%d", &a); if ( r != ) { ^ Da fehlt was.
*mift* Da ist irgendwie eine 1 verlorengegangen... Sollte if ( r != 1 ) { sein.
Ich wuerde uebrigens wenn du die Tips bzgl. 'char' anwenden willst trotzdem int als Typ verwenden, da man so z.B. -1 als Fehler verwenden kann:
Wie meinst Du das?
Siehe man -P'less +/RETURN' 3 getchar. fgetc(), getc() and getchar() return the character read as an unsigned char cast to an int or EOF on end of file or error. Wobei EOF != 0..255 ist, also ausserhalb des Wertebereichs von 'unsigned char'. Und genau das ermoeglicht eben, zusaetzlich zum vollen Wertebereich von 'unsigned char' noch einen Wert fuer 'Fehler' bzw. 'Ende' zu haben. z.B. wuerde auch gehen: int c; c = getchar(); switch(c) { case EOF: /* Ende oder Fehler */ break; case 'a': /* ... */ } -dnh -- 153: höflich Abwesenheit von absichtlichen Beleidigungen. (Lars Marowsky-Brée)