按题目要求编写完整功能代码,参考答案点击按钮展开
编写函数 reverse,将字符串 s 原地逆序(不改变长度,可直接用 string.h 中的 strlen)。只在函数体内编写。
#include <stdio.h>
#include <string.h>
void reverse(char *s)
{
// 请在此处编写函数体
}
int main()
{
char s[] = "abcd";
reverse(s);
printf("%s\n", s);
return 0;
}
void reverse(char *s)
{
int i = 0, j = strlen(s) - 1;
char t;
while(i < j){
t = s[i]; s[i] = s[j]; s[j] = t;
i++; j--;
}
}
双指针交换:i 从头、j 从尾,向中间靠拢,相遇即止。reverse("abcd") 输出 dcba。