Οδηγός Μελέτης - Εισαγωγή στον Προγραμματισμό

Α10.11 · Τι κάνει η getinteger;

Διάλεξη 10, διαφάνεια 17 · Δυσκολία ★★☆ · trace · Κεφάλαια: 10, 9

Τι κάνει το παρακάτω πρόγραμμα;

#define ERROR -1

int getinteger(int base) {
  int ch;
  int val = 0;
  while ((ch = getchar()) != '\n')
    if (ch >= '0' && ch <= '0' + base - 1)
      val = base * val + (ch - '0');
    else
      return ERROR;
  return val;
}

Υπόδειξη

Εκτελέστε τη με το χέρι για base = 10 και είσοδο 472, και μετά για base = 2 και είσοδο 101. Ποιοι χαρακτήρες θεωρούνται νόμιμοι για κάθε βάση;

Αριθμός στον οδηγό: Α10.11 (στο κεφάλαιο) · Μόνιμο αναγνωριστικό: slides-lec10-getinteger · Σύνδεσμος: https://progintro.github.io/study/questions/slides/slides-lec10-getinteger.html · Markdown (GitHub)