如何用C语言自定义一个名为Inverse的函数来实现字符串逆序存储并随后打印出逆序后的字符串?
时间: 2024-10-23 13:08:12 浏览: 47
在C语言中,你可以定义一个名为`inverse`的函数,使用字符数组来存储输入的字符串,并使用指针技巧来实现字符串的逆序存储。下面是相应的代码:
```c
#include <stdio.h>
#include <string.h> // 引入strlen用于计算字符串长度
// 自定义函数:逆序字符串
void inverse(char* str) {
int len = strlen(str); // 计算字符串长度
char temp; // 临时字符
// 从后向前遍历字符串并将字符依次赋值给原位置的前一个字符
for (int i = 0; i < len / 2; i++) {
temp = str[i];
str[i] = str[len - 1 - i];
str[len - 1 - i] = temp;
}
}
// 打印逆序后的字符串
void print_inverse(char* str) {
printf("逆序后的字符串是: %s\n", str);
}
int main() {
char input[100]; // 输入字符串,假设最大长度为99
printf("请输入一个字符串: ");
fgets(input, sizeof(input), stdin); // 读取用户输入(包含换行符)
// 删除fgets读取的换行符
input[strcspn(input, "\n")] = '\0';
inverse(input); // 逆序字符串
print_inverse(input); // 打印结果
return 0;
}
```
在这段代码中,`inverse`函数接收一个字符串指针作为参数,交换字符串首尾字符直到中间位置,实现了逆序操作。`print_inverse`函数则用于打印逆序后的字符串。
阅读全文