用c语言实现:输入一个字符串,使用函数将它逆序存放
时间: 2024-03-17 22:47:20 浏览: 261
输入一个字符串,把这个字符串按逆序重新存放
5星 · 资源好评率100%
好的,我们可以使用指针来实现字符串的逆序存放。具体的实现代码如下:
```c
#include <stdio.h>
#include <string.h>
void reverse(char *str);
int main()
{
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
reverse(str);
printf("字符串逆序存放后为:%s\n", str);
return 0;
}
void reverse(char *str)
{
int len = strlen(str);
char *p1 = str; // 指向字符串首地址
char *p2 = str + len - 1; // 指向字符串末尾
char temp;
while (p1 < p2) {
temp = *p1;
*p1 = *p2;
*p2 = temp;
p1++;
p2--;
}
}
```
在这个程序中,我们首先使用 `scanf()` 函数从用户输入中读取一个字符串,并将其存储在字符数组 `str` 中。然后,我们调用 `reverse()` 函数来将字符串逆序存放。在 `reverse()` 函数中,我们使用指针 `p1` 和 `p2` 分别指向字符串的首地址和末尾地址。然后,我们交换 `p1` 和 `p2` 指向的字符,并将指针向字符串中间移动,直到 `p1` 和 `p2` 相遇为止。最终,字符串就被逆序存放了。
阅读全文