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

Α12.7 · Περιεχόμενα του x μετά από βρόχο με δείκτη

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

Ποια είναι τα περιεχόμενα του x μετά την εκτέλεση;

int * p;
int x[] = {5, 7, 2, 3, 6, 0, 1, 4};
p = x;
while (*p = *(p+2))
  p++;

Υπόδειξη

Η συνθήκη του while είναι ανάθεση, όχι σύγκριση: αντιγράφει στο *p την τιμή δύο θέσεις πιο μετά, και ο βρόχος σταματά όταν η τιμή που αντιγράφηκε είναι 0. Ιχνηλατήστε βήμα-βήμα σε πίνακα τη θέση του p και τα περιεχόμενα του x, θυμίζοντας στον εαυτό σας ότι ο πίνακας αλλάζει καθώς προχωρά ο βρόχος.

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