Τι θα τυπώσει το πρόγραμμα;
#include <stdio.h>
typedef struct folder {
char name[128];
struct folder *parent;
} Folder;
int main() {
Folder root = {"/", NULL};
Folder home = {"home/", &root};
Folder user = {"thanos/", &home};
Folder hw0 = {"hw0/", &user}, hw1 = {"hw1/", &user};
Folder newton = {"newton/", &hw0};
for (Folder *iterator = &newton; iterator; iterator = iterator->parent)
printf("folder: %s\n", iterator->name);
return 0;
}
Ο βρόχος ξεκινά με δείκτη στον newton και σε κάθε βήμα μετακινείται στον γονέα.
Ρωτήστε: πότε γίνεται ψευδής η συνθήκη iterator; Τυπώνεται ποτέ ο hw1;
Αριθμός στον οδηγό: Α20.10
(στο κεφάλαιο) ·
Μόνιμο αναγνωριστικό: slides-lec20-folder-iterate ·
Σύνδεσμος: https://progintro.github.io/study/questions/slides/slides-lec20-folder-iterate.html ·
Markdown (GitHub)