```c
include include void reverseWords(char *str) { int length = strlen(str); if (length == 0 || length == 1) { return; } char *start = str; char *end = str; // 找到句子的末尾 while (*end != '\0' && *end != ' ') { end++; } // 将末尾的空格去掉 if (*end == ' ') { end--; } // 反转单词 while (start < end) { char temp = *start; *start = *end; *end = temp; start++; end--; } // 输出反转后的句子 printf("%s", str); } int main() { char sentence; printf("请输入一个句子: "); fgets(sentence, sizeof(sentence), stdin); // 去掉换行符 sentence[strcspn(sentence, "\n")] = 0; reverseWords(sentence); return 0; } ``` 这个程序首先读取用户输入的句子,然后调用`reverseWords`函数来颠倒句子中单词的顺序,并输出结果。`reverseWords`函数通过找到句子的末尾,去掉末尾的空格,然后反转单词的顺序来实现这一功能。