写一个函数,输人一行字符,将此字符串中最长的单词输出
写一个函数,输人一行字符,将此字符串中最长的单词输出。
题目解析:
单词以空格进行分隔,因此寻找空格出现的位置即为关键,每次从单词的起始到空格出现的位置即为一个单词,此时计算单词的长度,如果比当前最大的还长,就进行跟新最长单词信息,当整个字符串遍历完成,word即保存最长字符串。
代码示例:
#include<stdio.h>
#include<string.h>
void LongestWord(char str[], char word[])
{
int max_len = 0;
int len = 0;
int i = 0;
while(str[i] != '\0')
{
if(str[i] == ' ')
{
str[i] = '\0';
len = strlen(str);
if(len > max_len)
{
max_len = len;
strcpy(word, str);
str = str + len + 1;
}
}
i++;
}
}
int main()
{
char line[100] = {0};
char word[100] = {0};
printf("input one line:\n");
gets(line);
LongestWord(line, word);
printf("The longest word is : %s\n", word);
return 0;
}