写一个函数,输入一行字符,将此字符串中最长的单词输出。
#include <stdio.h>
#include <string.h>
// 查找最长单词
void find_longest_word(char str[], char longest_word[]) {
int max_length = 0, length = 0;
char *word = strtok(str, " ");
while (word != NULL) {
length = strlen(word);
if (length > max_length) {
max_length = length;
strcpy(longest_word, word);
}
word = strtok(NULL, " ");
}
}
int main() {
char str[100], longest_word[50];
printf("输入一行字符:");
fgets(str, sizeof(str), stdin);
str[strcspn(str, "\n")] = '\0'; // 去掉换行符
find_longest_word(str, longest_word);
printf("最长的单词:%s\n", longest_word);
return 0;
}
解释说明:
最长单词:
- 函数
find_longest_word
遍历输入字符串,找到并返回最长的单词。 - 主函数从键盘输入一个字符串,调用
find_longest_word
函数并输出最长单词。