Παράθεση Αρχικό μήνυμα από klik Εμφάνιση μηνυμάτων
Κώδικας:
byte print_uword(word n){
    byte digits_printed = 0;
    word divisor;
    for(divisor = 10000 ; divisor!=0 ; divisor /= 10){
        byte value = n / divisor;
        if(value!=0 || digits_printed){
            digits_printed++;
            lcd_write(value + '0');
        }
        n %= divisor;
    }
    return digits_printed;
}
Μια απλή περίπτωση. Τυπώνει αγνοώντας αρχικά μηδενικά.
Επιστρέφει αριθμό χαρακτήρων που τυπώθηκαν.
Φυσικά μπορεί να περνάς παράμετρο το αρχικό divisor (αν θέλεις π.χ. να τυπώνεις μόνο τα 3 τελευταία ψηφία ενός αριθμού), θα μπορούσες να περνάς την lcd_write με pointer ώστε με την ίδια συνάρτηση προσπέλασης αριθμών να μπορείς να τυπώσεις σε οθόνη-rs232-δικτυο κλπ


Αγαπητέ klik, με αυτό που έγραψες θα με ξανα δείς πάλι την άλλη εβδομάδα όταν θα έχω καταλάβει τι γράφεις. Επιπλέον ανέφερες μια λεπτομέρια για την οποία έχω πολλά ερωτιματικά, τους pointers. Δεν έχω καταλάβει τη χρήση τους και τη λειτουργία τους και για αυτό το λόγο προσπαθώ να τους αποφεύγω.

Μιλόντας όμως γενικά, πολλές φορές είναι προτιμότερο να αποδεχόμαστε κάτι ώς δεδομένο και να προχωράμε χωρίς περαιτέρω διερεύνηση. Το χρησιμοποιείς και προχωράς, εφόσον λειτουργεί φυσικά.