Δημοσιεύτηκε: 17 Ιουν 2011, 01:10
stamatiou έγραψε:Και γιατί άμα είναι αριθμός δεν δουλεύει;
Και γιατί πρέπει εκεί που λέει ++ndigit[c-'0'] δεν γράφω σκέτο c;
Στην C τα char είναι ουσιαστικά int και συγκεκριμένα είναι τα ASCII Codes των χαρακτήρων. Οπότε όταν γράφεις:
- Κώδικας: Επιλογή όλων
if (c == '9')
ισοδυναμεί με:
- Κώδικας: Επιλογή όλων
if (c == 57)
Αντίστοιχα, το:
- Κώδικας: Επιλογή όλων
if (c == 9)
ελέγχει αν ο c είναι ο χαρακτήρας με ASCII code ίσο με 9 (που είναι ο χαρακτήρας του tab). Συμπτωματικά, για τον χαρακτήρα του tab η C έχει ειδικό σύμβολο, το '\t' (όπως για το ENTER έχει το '\n', κλπ).
Οπότε, συμπτωματικά επειδή πιάσαμε το 9, το παραπάνω θα μπορούσε να γραφτεί κι έτσι:
- Κώδικας: Επιλογή όλων
if (c == '\t')