c语言编写一个字符串逆序存放的函数reverse()
时间: 2025-01-21 10:37:37 浏览: 59
好的,我很乐意为您介绍如何用C语言编写一个字符串逆序存放的函数reverse()。
下面是一个实现字符串逆序的C语言函数reverse():
```c
void reverse(char *str) {
int len = 0;
char *start, *end, temp;
// 计算字符串长度
while(str[len] != '\0') {
len++;
}
// 设置指针
start = str;
end = str + len - 1;
// 交换字符
while(start < end) {
temp = *start;
*start = *end;
*end = temp;
start++;
end--;
}
}
```
这个函数的工作原理如下:
1. 首先,我们定义了一个void类型的函数reverse,它接受一个字符指针作为参数。
2. 我们使用一个while循环来计算字符串的长度。
3. 然后,我们设置两个指针:start指向字符串的开头,end指向字符串的末尾。
4. 我们使用一个while循环来交换start和end指向的字符,直到start不再小于end。
5. 在每次循环中,我们交换start和end指向的字符,然后将start指针向前移动,end指针向后移动。
使用这个函数的方法如下:
```c
#include <stdio.h>
int main() {
char str[] = "Hello, World!";
printf("Original string: %s\n", str);
reverse(str);
printf("Reversed string: %s\n", str);
return 0;
}
```
这个程序会输出:
Original string: Hello, World!
Reversed string: !dlroW ,olleH
这个reverse函数可以用于任何以null结尾的C字符串。它会直接修改原始字符串,而不是创建一个新的副本。
阅读全文
相关推荐


















