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

Α19.1 · Ανάθεση και χρήση πεδίων δομής

Διάλεξη 19, διαφάνειες 12–13 · Δυσκολία ★☆☆ · trace · Κεφάλαια: 19

Με τη δομή

struct student {
  char first_name[128];
  char last_name[128];
  unsigned int year;
  double grade;
};

τι τυπώνει αυτό το πρόγραμμα;

int main() {
  struct student st1;
  st1.year = 1;
  st1.grade = 7.54;
  strncpy(st1.first_name, "Thanos", sizeof(st1.first_name) - 1);
  st1.first_name[sizeof(st1.first_name) - 1] = '\0';
  strncpy(st1.last_name, "Barbounis", sizeof(st1.last_name) - 1);
  st1.last_name[sizeof(st1.last_name) - 1] = '\0';
  printf("%s %s: %f [%u year]\n", st1.first_name, st1.last_name, st1.grade, st1.year);
  return 0;
}

Υπόδειξη

Κάθε πεδίο συμπεριφέρεται όπως μια μεταβλητή του τύπου του. Προσέξτε πόσα δεκαδικά τυπώνει το %f χωρίς ακρίβεια.

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