Αν κι εκκρεμεί ακόμα η άσκηση με την αντιστροφή των λέξεων σε μια οποιαδήποτε πρόταση, να δώσω ένα ακόμα...
δυσκολάκι 
Γράψτε μια συνάρτηση: int myatoi( char *str ) η οποία θα μιμείται τη στάνταρ συνάρτηση:
atoi().
Η συνάρτηση δέχεται ως όρισμα ένα string και επιστρέφει τον ακέραιο αριθμό στον οποίον αντιστοιχεί σε αυτό το string. Θα πρέπει να λαμβάνει υπόψη της τα εξής:
- αρχικά κενά διαστήματα αγνοούνται
- τα πρόσημα + και - υπολογίζονται κανονικά (αν δεν υπάρχει πρόσημο, ο ακέραιος θεωρείται θετικός)
- αν ο πρώτος μη κενός χαρακτήρας δεν είναι ούτε πρόσημο ούτε ψηφίο, η συνάρτηση επιστρέφει 0
- χαρακτήρες που δεν είναι ψηφία και ακολουθούν κανονικό αριθμό (με ή χωρίς πρόσημο) αγνοούνται
- αν ο υπολογισμένος αριθμός είναι μεγαλύτερος του INT_MAX, η συνάρτηση επιστρέφει INT_MAX
- αν ο υπολογισμένος αριθμός είναι μικρότερος του -INT_MAX, η συνάρτηση επιστρέφει -INT_MAX *
* η κανονική atoi() ως αρνητικό όριο επιστρέφει το INT_MIN (και όχι το -INT_MAX) αλλά δεν χρειάζεται να το κάνετε έτσι
Μπορείτε να δοκιμάσετε τη συνάρτηση με τα ακόλουθα strings στην είσοδο:
- Κώδικας: Επιλογή όλων
123 (επιστρέφει 123)
-123 (επιστρέφει -123)
+123 (επιστρέφει 123)
123 (επιστρέφει 123)
-123 (επιστρέφει -123)
+123 (επιστρέφει 123)
+abc (επιστρέφει 0)
-abc123 (επιστρέφει 0)
123abc (επιστρέφει 123)
-123abc (επιστρέφει -123)
2147483649 (επιστρέφει 2147483647)
-2147483649 (επιστρέφει -2147483647)
0.123 (επιστρέφει 0)
.123 (επιστρέφει 0)
2.123 (επιστρέφει 2)
Μπορείτε τα παραπάνω strings να τα δοκιμάσετε με την κανονική atoi() ώστε να αντιπαραβάλλετε τα αποτελέσματα της με τα αποτελέσματα της δική σας myatoi()
ΥΓ. Για να δούμε τι θα δούμε σε αυτή την άσκηση
