Δημοσιεύτηκε: 25 Φεβ 2012, 16:49
migf1 έγραψε:Ο παρακάτω κώδικας διαβάζει έναν χαρακτήρα από την κύρια είσοδο και τυπώνει αν ήταν αριθμητικό ψηφίο ή όχι...
- Μορφοποιημένος Κώδικας: Επιλογή όλων
#include <stdio.h>
#include "myextras.h"
int main( void )
{
char ch;
mySCANF( "%c", &ch );
if ( ch < '0' || ch > '9' )
printf( "%c is NOT a digit\n", ch );
else
printf( "%c is a digit\n", ch );
return 0;
}
Στην σύγκριση ch < '0' τι ακριβώς συγκρίνουμε; Η μεταβλητή ch θα είναι char (όπως δηλώθηκε) ή int; Επίσης το '0' είναι char;
Ακόμα απ' ότι κατάλαβα παίζουν ρόλο τα εισαγωγικά. Αν αντί για '0' γράψω "0" ο compiler θα μου πει για σύγκριση μεταξύ pointer και integer.