Η συνάρτηση transform (15 Μονάδες)
char *transform(char * str) {
int length = strlen(str);
char * lo = str;
char * hi = str + length - 1;
char tmp;
while (lo < hi) {
tmp = *lo;
*lo++ = *hi;
*hi-- = tmp;
}
return str;
}
Τι κάνει η συνάρτηση transform (μέχρι 15 λέξεις εξήγηση); Τι θα τυπωθεί κατά την εκτέλεση των δύο ακόλουθων εντολών;
char arg[] = {'!', 121, 107, 99, 117, 76, 0};
printf("%s\n", transform(arg));
Σημείωση: στο τέλος της εξέτασης δίνεται πίνακας ASCII ως βοήθημα.
Παρακολουθήστε πώς κινούνται οι δείκτες lo και hi και τι ανταλλάσσουν σε κάθε
επανάληψη, και πότε σταματά ο βρόχος. Για την έξοδο, μετατρέψτε πρώτα κάθε αριθμό του
arg σε χαρακτήρα με τον πίνακα ASCII· το 0 στο τέλος είναι ο τερματικός χαρακτήρας.
Αριθμός στον οδηγό: Α14.12
(στο κεφάλαιο) ·
Μόνιμο αναγνωριστικό: exam-2025-sep-q2 ·
Σύνδεσμος: https://progintro.github.io/study/questions/exams/exam-2025-sep-q2.html ·
Markdown (GitHub)