C语言将一个字符串翻转,例如把字符串”abcd”翻转为”dcba”。
时间: 2023-11-27 18:50:42 浏览: 124
可以使用指针来实现字符串的翻转,具体步骤如下:
1. 定义一个指向字符串的指针,并初始化为字符串的首地址。
2. 定义另外两个指针,一个指向字符串的首地址,另一个指向字符串的末尾。
3. 通过循环交换首位指针所指向的字符,并将首指针向后移动,末尾指针向前移动,直到两个指针相遇。
4. 最后输出翻转后的字符串。
以下是实现代码:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
printf("请输入一个字符串: ");
gets(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--;
}
printf("翻转后的字符串为: %s\n", str);
return 0;
}
```
注意:在实现字符串翻转时,不能直接修改字符串常量,只能修改字符数组。因此,在定义字符数组时,要保证字符数组的长度足够大,以存储翻转后的字符串。
阅读全文