c语言逆序输出字符串单词
时间: 2024-12-01 11:11:04 浏览: 5
在C语言中,逆序输出字符串单词通常涉及到两个步骤:首先,将整个字符串反转;然后,遍历反转后的字符串,遇到空格就停止并打印当前的单词,直到再次遇到空格。这里是一个简单的示例代码:
```c
#include <stdio.h>
#include <string.h>
void reverse(char *str) {
int start = 0, end = strlen(str) - 1;
while (start < end) {
char temp = str[start];
str[start] = str[end];
str[end] = temp;
start++;
end--;
}
}
void print_words_backwards(char *str) {
// 反转字符串
reverse(str);
int i = 0, j = strlen(str) - 1;
while (i < j) {
if (str[i] == ' ') { // 遇到空格,打印单词
printf("%s ", &str[j]);
j--;
} else {
i++; // 没有空格,继续查找下一个单词的开始位置
}
}
printf("\n"); // 输出结束后换行
}
int main() {
char str[] = "Hello World, How Are You?";
print_words_backwards(str);
return 0;
}
```
当你运行这个程序,它会逆序输出"Are You? How World, Hello"。
阅读全文