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

Κ14.6 · strcpy από literal σε πίνακα

Kahoot «Εμβέλεια, Μνήμη και Συμβολοσειρές» (διάλεξη 14) · Δυσκολία ★★★ · multiple-choice · 32% σωστές απαντήσεις (97 απαντήσεις στο αμφιθέατρο) · Κεφάλαια: 14

Τι θα τυπώσει ο παρακάτω κώδικας;

char *s1 = "World", s2[] = "Hello";
strcpy(s2, s1);
printf("%s\n", s2);

Συχνή παρανόηση

Το 24% απάντησε ότι θα κρασάρει, μπερδεύοντας τους ρόλους: η strcpy γράφει στον πίνακα s2, που είναι εγγράψιμος και χωράει τα 6 bytes του "World"· το literal s1 μόνο διαβάζεται.

Υπόδειξη

Ποιος από τους δύο είναι πίνακας που μπορούμε να γράψουμε και ποιος δείχνει σε string literal; Σε ποιον γράφει η strcpy, και χωράει εκεί το αποτέλεσμα;

Αριθμός στον οδηγό: Κ14.6 (στο κεφάλαιο) · Μόνιμο αναγνωριστικό: kahoot-strcpy-literal-to-array · Σύνδεσμος: https://progintro.github.io/study/questions/kahoot/kahoot-strcpy-literal-to-array.html · Markdown (GitHub)