C语言本关任务:完成函数rev(ch) 实现将字符串ch逆置 比如rev("spring") 返回"gnirps" 开始你的任务吧,祝你成功!
时间: 2024-12-15 20:26:56 浏览: 7
部分逆置 pta c语言 两种示例
在C语言中,你可以通过以下步骤完成函数`rev()`,它接受一个字符数组`ch`作为输入,并返回一个新的逆序后的字符串:
```c
#include <stdio.h>
#include <string.h>
// 函数rev() 接受一个字符数组作为参数,返回逆序后的字符串
char* rev(char ch[]) {
int len = strlen(ch); // 获取输入字符串长度
char reversed[len + 1]; // 为了包含空字符,创建足够大的新字符串
for (int i = 0; i < len / 2; i++) { // 只需要遍历一半长度,因为另一半会自动对齐
// 交换第i个字符和倒数第i个字符
reversed[i] = ch[len - 1 - i];
reversed[len - 1 - i] = ch[i];
}
reversed[len] = '\0'; // 确保字符串结尾有空字符
return reversed;
}
int main() {
char str[] = "spring";
char* reversed_str = rev(str);
printf("逆序后的字符串: %s\n", reversed_str);
free(reversed_str); // 注意释放内存,避免内存泄漏
return 0;
}
```
在这个例子中,我们首先计算输入字符串的长度,然后创建一个新的字符数组`reversed`。接着,我们遍历原数组的一半并交换对应的字符,最后在`reversed`的末尾添加一个空字符,表示字符串结束。
运行这个程序,你会看到输出为 "gnirps"。
阅读全文