写一个函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串,用c语言完成
时间: 2024-02-26 10:58:40 浏览: 113
C语言程序设计-将主函数中输入的字符串反序存放;例如:输入字符串“abcdefg”,则应输出“gfedcba”;.c
5星 · 资源好评率100%
好的,以下是一个实现该功能的 C 语言函数及示例代码:
```c
#include <stdio.h>
#include <string.h>
void reverse_string(char *str) {
int len = strlen(str);
int i;
char temp;
for (i = 0; i < len / 2; i++) {
temp = str[i];
str[i] = str[len - 1 - i];
str[len - 1 - i] = temp;
}
}
int main() {
char str[100];
printf("请输入一个字符串:");
fgets(str, 100, stdin);
// 将换行符替换成字符串结束符
str[strlen(str) - 1] = '\0';
printf("原字符串:%s\n", str);
reverse_string(str);
printf("反序字符串:%s\n", str);
return 0;
}
```
函数 `reverse_string` 接受一个字符串指针作为参数,实现将字符串反序存放的功能。函数中首先获取字符串的长度,然后使用一个循环将字符串前半部分和后半部分的字符逐个交换位置,最终实现反序存放。
在 `main` 函数中,先调用 `fgets` 获取用户输入的字符串,再将换行符替换成字符串结束符。然后打印原字符串,调用 `reverse_string` 函数将字符串反序存放,最后打印反序字符串。
运行示例代码,输入字符串 "hello world",输出结果如下:
```
请输入一个字符串:hello world
原字符串:hello world
反序字符串:dlrow olleh
```
希望这个例子能够帮助到你!
阅读全文