c:编写一个函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串。
时间: 2024-09-14 08:14:41 浏览: 32
使传入一个字符串按反序存放
在C语言中,你可以通过以下几个步骤编写一个函数,用于将输入的字符串逆序存放:
```c
#include <stdio.h>
#include <string.h>
// 定义一个函数,接收字符串并返回逆序后的字符串
char* reverseString(char* str) {
if (str == NULL || strlen(str) == 0) {
return str;
}
int length = strlen(str);
char reversed[length + 1]; // 为了容纳终止符'\0'
reversed[length - 1] = '\0'; // 从后向前填充字符
for (int i = 0; i < length / 2; i++) {
char temp = str[i];
str[i] = str[length - i - 1]; // 交换字符
str[length - i - 1] = temp;
}
return reversed;
}
int main() {
char input[100];
printf("请输入一个字符串: ");
fgets(input, sizeof(input), stdin); // 读取用户输入,避免换行符
input[strcspn(input, "\n")] = '\0'; // 去除fgets获取的最后一行的换行符
char* reversedStr = reverseString(input);
printf("逆序后的字符串: %s\n", reversedStr); // 输出逆序后的字符串
free(reversedStr); // 释放内存
return 0;
}
```
这个程序首先定义了一个名为`reverseString`的函数,它接受一个字符串作为参数,然后通过遍历字符串的一半,逐次交换字符,实现了字符串的逆序。主函数中则负责读取用户的输入,并调用这个函数展示结果。
阅读全文