编写一个函数 reverseString,用于反转一个字符串。要求使用字符指针实现。 输入:从键盘输入一个字符串,以回车结束。假设输入的字符串长度不超过 100。 输出:输出反转后的字符串。
时间: 2024-02-13 15:07:58 浏览: 56
好的,我可以帮您编写这个函数。
以下是实现代码:
```c
#include <stdio.h>
#include <string.h>
void reverseString(char *str) {
int len = strlen(str);
char *p1 = str; // 指向字符串开头
char *p2 = str + len - 1; // 指向字符串结尾
while (p1 < p2) {
char temp = *p1;
*p1 = *p2;
*p2 = temp;
p1++;
p2--;
}
}
int main() {
char str[101];
printf("请输入一个字符串:");
fgets(str, 100, stdin);
str[strcspn(str, "\n")] = '\0'; // 去掉字符串结尾的换行符
reverseString(str);
printf("反转后的字符串为:%s\n", str);
return 0;
}
```
函数 `reverseString` 使用两个指针 `p1` 和 `p2`,分别指向字符串的开头和结尾。通过交换两个指针指向的字符,不断向中间靠拢,最终完成字符串反转。
在 `main` 函数中,使用 `fgets` 函数从键盘读取字符串,并通过 `strcspn` 函数去掉字符串结尾的换行符。然后调用 `reverseString` 函数进行字符串反转。最后输出反转后的字符串。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)