====== Πρόβλημα στη λογική σύγκριση των συναρτήσεων της ctype.h ====== Οι συναρτήσεις της βιβλιοθήκης ctype, όπως οι: ''isalpha'', ''isdigit'', κλπ επιστρέφουν τιμή που μπορεί να χρησιμοποιηθεί ως λογική μεταβλητή με την έννοια του "μηδέν=false" και "μη μηδενικό=true" , αλλά δεν επιστρέφουν true (δηλαδή την τιμή 1), αλλά κάποια μη-μηδενική τιμή. Γι'αυτό θα πρέπει οι συνθήκες που εμπλέκουν τέτοιες συναρτήσεις, να χρησιμοποιούν κάποιον από τους ακόλουθους τρόπους: - είτε απευθείας **χωρίς σύγκριση**, ενδεχομένως με τη χρήση του τελεστή not ''!'', π.χ. if ( ! isalpha(myChar)) { - είτε εάν πάντα **συγκρίνοντας με το false**, χρησιμοποιώντας τον κατάλληλο τελεστή ''=='' ή ''!='', π.χ. if (isdigit(myDig) != false) Τα παραπάνω παραδείγματα αναφέρονται σε απλές συνθήκες. Εάν μας ενδιαφέρει μια σύνθετη συνθήκη, τότε μπορούμε να συνδυάσουμε κάποια από αυτές με τη χρήση των κατάλληλων τελεστών π.χ. ''&&'' ή ''||''. Σχετικό με αυτά μπορεί να βρείτε και το ερώτημα για τη χρήση μη-μηδενικών τιμών ως bool, [[qna:misc:boolean-non-zero|εδώ]].