用指针实现字符串单词的逆置
时间: 2023-04-03 17:04:08 浏览: 142
可以使用指针实现字符串单词的逆置,具体实现方法如下:
1. 定义一个指向字符的指针变量,指向字符串的首地址。
2. 定义一个指向字符的指针变量,用于记录单词的起始位置。
3. 定义一个指向字符的指针变量,用于记录单词的结束位置。
4. 从字符串的首地址开始遍历,如果遇到空格或者字符串结束符,则将单词进行逆置。
5. 逆置单词的方法可以使用两个指针分别指向单词的起始位置和结束位置,然后交换它们所指向的字符,直到两个指针相遇为止。
6. 重复步骤4和步骤5,直到整个字符串逆置完成。
示例代码如下:
```c
#include <stdio.h>
#include <string.h>
void reverse_word(char *str)
{
char *start = str;
char *end = str;
while (*end != '\0') {
if (*end == ' ') {
char *p = end - 1;
while (start < p) {
char temp = *start;
*start = *p;
*p = temp;
start++;
p--;
}
start = end + 1;
}
end++;
}
char *p = end - 1;
while (start < p) {
char temp = *start;
*start = *p;
*p = temp;
start++;
p--;
}
}
int main()
{
char str[] = "hello world";
printf("before reverse: %s\n", str);
reverse_word(str);
printf("after reverse: %s\n", str);
return 0;
}
```
阅读全文