Θέλω μια συνάρτηση atoi που να παίρνει ένα πίνακα χαρακτήρων (μόνο ψηφία) και να
επιστρέφει έναν ακέραιο. Πώς;
Η λύση των διαφανειών είναι η εξής. Τι μπορεί να πάει στραβά με αυτήν τη συνάρτηση;
int atoi(char digits[]) {
int result = 0;
for(int i = 0; digits[i]; i++) {
result = 10 * result + digits[i] - '0';
}
return result;
}
Γράψτε τις υποθέσεις που κάνει η συνάρτηση για την είσοδό της και δοκιμάστε νοερά
εισόδους που τις παραβιάζουν: πρόσημο ή γράμματα, έναν πολύ μεγάλο αριθμό, έναν
πίνακα χωρίς '\0'. Σκεφτείτε και το όνομά της.
Αριθμός στον οδηγό: Α16.9
(στο κεφάλαιο) ·
Μόνιμο αναγνωριστικό: slides-lec16-atoi ·
Σύνδεσμος: https://progintro.github.io/study/questions/slides/slides-lec16-atoi.html ·
Markdown (GitHub)