原地反轉字符數組/字符串,返回反轉後的緩衝區指針。
char *reverse(char *buf) {
if (NULL == buf) return NULL;
int len = strlen(buf);
char tmp;
for (int i = 0; i < len / 2; i++) {
tmp = buf[i];
buf[i] = buf[len - i - 1];
buf[len - i - 1] = tmp;
}
return buf;
}
char str[] = "hello";
reverse(str); // str 變為 "olleh"
printf("%s\n", str);