main函数输入一个字符串,C语言编写函数实现将一个字符串反转并返回新的字符串。
时间: 2025-01-05 20:40:22 浏览: 14
在C语言中,你可以通过动态内存分配和字符数组操作来实现一个函数,用于反转输入的字符串。以下是一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定义反转字符串的函数
char* reverse_string(const char* input) {
int len = strlen(input);
char* reversed = (char*)malloc(len + 1); // 为新字符串分配空间
if (!reversed) {
printf("Memory allocation failed.\n");
return NULL;
}
// 反转字符串
for (int i = 0; i < len; ++i) {
reversed[len - i - 1] = input[i]; // 将每个字符从原地倒序放置
}
reversed[len] = '\0'; // 添加终止符
return reversed;
}
int main() {
char input[100];
printf("Enter a string: ");
fgets(input, sizeof(input), stdin); // 读取用户输入,包括换行符
input[strcspn(input, "\n")] = '\0'; // 移除fgets添加的换行符
char* reversed = reverse_string(input);
if (reversed) {
printf("Reversed string: %s\n", reversed);
free(reversed); // 释放内存
} else {
printf("Failed to reverse the string.\n");
}
return 0;
}
```
在这个程序中,`reverse_string`函数接收一个字符串指针作为输入,创建一个新的字符串并将原始字符串的字符反向顺序复制。在`main`函数中,用户输入字符串,然后调用这个函数来获取反转后的结果。
阅读全文