用C语言编写一个函数,实现逆向输出字符串的单词
时间: 2023-06-17 11:02:55 浏览: 108
以下是用C语言编写一个函数,实现逆向输出字符串的单词的例子:
```c
#include<stdio.h>
#include<string.h>
void reverseWords(char *s) {
int len = strlen(s);
int i = 0, j = 0;
while (i < len) {
while (i < len && s[i] == ' ') i++;
if (i >= len) break;
j = i + 1;
while (j < len && s[j] != ' ') j++;
reverse(s + i, s + j);
i = j;
}
reverse(s, s + len);
}
void reverse(char *begin, char *end) {
char temp;
while (begin < end) {
temp = *begin;
*begin++ = *end;
*end-- = temp;
}
}
int main() {
char str[] = "I love programming";
printf("Original string: %s\n", str);
reverseWords(str);
printf("Reversed words: %s\n", str);
return 0;
}
```
输出:
```
Original string: I love programming
Reversed words: programming love I
```
该函数首先使用两个指针 `i` 和 `j` 遍历字符串,以找出每个单词的起始位置和结束位置,然后使用 `reverse` 函数将每个单词反转,最后使用 `reverse` 函数将整个字符串反转。
阅读全文