C言語で文字列の単語を逆順に出力する方法は何ですか。
C言語の文字列内の単語を逆順に出力するには、次の手順に従うことができます。
- ワードを逆にする
- 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