Δημοσιεύτηκε: 15 Ιουν 2011, 21:09
Η getchar() παίρνει το input, αλλά δεν είναι αυτή που μετράει τους χαρακτήρες.
Η getchar παίρνει έναν χαρακτήρα την φορά. Όσο πληκτρολογεί ο χρήστης, και ο χαρακτήρας που πληκτρολόγησε δεν είναι ο EOF,
εκτελείται η επόμενη από το while εντολή, η ++nc.
Αυτή αυξάνει κάθε φορά (σε κάθε χαρακτήρα δηλαδή) την τιμή της nc (η οποία ξεκινά από μηδεν) κατά ένα.
Όταν ο χρήστης πατήσει EOF το while είναι FALSE και βγαίνει από το loop (χωρίς να εκτελέσει μια τελευταία φορά το ++nc).
Μετά το loop του while η printf εμφανίζει την τιμή της nc, η οποία έχει τιμή ίση με τους χαρακτήρες που πληκτρολογησε ο χρήστης.
Το EOF σημαίνει End Of File. Έχει διαφορετική τιμή σε διαφορετικά λειτουργικά. Στο Linux είναι η τιμή που δίνει αν πατήσει ο χρήστης
Control+D.
Το πρόγραμμα σου δεν θα τελειώσει δηλαδή αν δεν πατήσεις Control+D και θα σου μετράει και τα return (αν πατάς).
Φιλικά,
Ανδρέας
Η getchar παίρνει έναν χαρακτήρα την φορά. Όσο πληκτρολογεί ο χρήστης, και ο χαρακτήρας που πληκτρολόγησε δεν είναι ο EOF,
εκτελείται η επόμενη από το while εντολή, η ++nc.
Αυτή αυξάνει κάθε φορά (σε κάθε χαρακτήρα δηλαδή) την τιμή της nc (η οποία ξεκινά από μηδεν) κατά ένα.
Όταν ο χρήστης πατήσει EOF το while είναι FALSE και βγαίνει από το loop (χωρίς να εκτελέσει μια τελευταία φορά το ++nc).
Μετά το loop του while η printf εμφανίζει την τιμή της nc, η οποία έχει τιμή ίση με τους χαρακτήρες που πληκτρολογησε ο χρήστης.
Το EOF σημαίνει End Of File. Έχει διαφορετική τιμή σε διαφορετικά λειτουργικά. Στο Linux είναι η τιμή που δίνει αν πατήσει ο χρήστης
Control+D.
Το πρόγραμμα σου δεν θα τελειώσει δηλαδή αν δεν πατήσεις Control+D και θα σου μετράει και τα return (αν πατάς).
Φιλικά,
Ανδρέας