Δημοσιεύτηκε: 25 Φεβ 2012, 16:49
από Ilias95
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.