2026-08-21
reverse.c
#include <string.h>
void reverse(char *s) {
/* write this: reverse s in place, no extra buffer */
}
Implement reverse so it reverses a NUL-terminated string in place.
Reference
void reverse(char *s) {
size_t len = strlen(s);
for (size_t i = 0, j = len - 1; i < j; i++, j--) {
char tmp = s[i];
s[i] = s[j];
s[j] = tmp;
}
}
Two pointers closing in from both ends. This is a reference implementation, not the only correct one — compare it against your own.