在void inverted_order(char *input, int length, char* output)
函数中,可以使用两个指针来实现字符串的倒序排序。以下是一个可能的实现:
#include <stdio.h>
#include <string.h>
void inverted_order(char *input, int length, char *output) {
// 确保输入和输出指针不为空
if (input == NULL || output == NULL)
return;
int i;
// 复制输入字符串到输出字符串
strcpy(output, input);
// 使用两个指针从头尾向中间交换字符位置
for (i = 0; i < length / 2; i++) {
char temp = output[i];
output[i] = output[length - i - 1];
output[length - i - 1] = temp;
}
}
int main() {
char input[] = "Hello World";
int length = strlen(input);
char output[length + 1]; // 预留空间存放结束符
inverted_order(input, length, output);
printf("Original string: %s\n", input);
printf("Inverted string: %s\n", output);
return 0;
}
运行以上代码将得到如下输出:
Original string: Hello World
Inverted string: dlroW olleH
这段代码将原始字符串倒序排列后保存在 output
字符数组中。
内容由零声教学AI助手提供,问题来源于学员提问