.编写函数fun,通过指针实现将一个字符串反向。要求主函数输入字符串,通过调用函数 fun 实现输入字符串反向。
时间: 2024-12-23 17:23:05 浏览: 4
C语言--写一个函数,判断一个整数是否为回文数,是返回1,不是返回0(如果一个整数,从左右来读都一样,就称它为回文数
在C语言中,你可以通过指针操作来实现字符串反转。这里是一个简单的例子,展示了如何编写一个名为`fun`的函数来完成这个任务:
```c
#include <stdio.h>
#include <string.h>
// 函数声明,接受指向字符数组的指针和数组长度作为参数
void reverse_string(char* str, int len);
int main() {
char input[100]; // 输入字符串的缓冲区
printf("请输入一个字符串: ");
fgets(input, sizeof(input), stdin); // 读取用户输入,包括换行符
// 转义换行符
input[strcspn(input, "\n")] = '\0';
// 计算实际字符串长度,因为fgets会多加一个'\0'
int len = strlen(input) - 1;
// 调用reverse_string函数
reverse_string(&input, len);
printf("反转后的字符串: %s\n", input);
return 0;
}
// 反转字符串的函数实现
void reverse_string(char* str, int len) {
char temp; // 临时存储字符
for (int i = 0; i < len / 2; i++) {
temp = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = temp; // 交换对应位置的字符
}
}
```
在这个程序中,`main`函数首先获取用户的输入并传递给`reverse_string`函数。然后,该函数通过指针遍历字符串的一半,每次迭代都交换当前位置和倒数位置的字符,从而实现了字符串的反转。
阅读全文