要逆序输出C语言字符串中的单词,可以按照以下步骤操作:
定义一个函数reverse_words
,接收一个字符串作为参数。使用strtok
函数将字符串分割成单词,将每个单词存储在一个数组中。计算出单词的个数。使用循环倒序输出每个单词。下面是一个示例代码:
#include <stdio.h>#include <string.h>void reverse_words(char str[]) { char *token; char *words[100]; // 假设最多有100个单词 int count = 0; // 使用strtok函数分割字符串并将每个单词存储在数组中 token = strtok(str, " "); while (token != NULL) { words[count] = token; count++; token = strtok(NULL, " "); } // 倒序输出每个单词 for (int i = count - 1; i >= 0; i--) { printf("%s ", words[i]); }}int main() { char str[] = "Hello World, I am a student."; reverse_words(str); return 0;}
输出结果为:
student. a am I World, Hello