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

Α15.7 · Τι κάνει το πρόγραμμα με την getchar

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

Διαδοχικές κλήσεις της getchar() διαβάζουν διαδοχικούς χαρακτήρες. Τι κάνει το παρακάτω πρόγραμμα; Τι χρονική και τι χωρική πολυπλοκότητα έχει;

#include <stdio.h>

int main() {
  int ch, sum = 0;
  printf("Enter characters: ");
  while( (ch = getchar()) != '\n' && ch != EOF ) {
    printf("%c", ch);
    sum++;
  }
  printf("\nTotal characters: %d\n", sum);
  return 0;
}

Υπόδειξη

Ακολουθήστε τον βρόχο για την είσοδο hello και Enter: πότε σταματά και τι τυπώνεται σε κάθε επανάληψη; Για τον χώρο, ρωτήστε αν το πρόγραμμα κρατά κάπου όλη τη γραμμή.

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