写一个函数,输入一行字符,将此字符串中最长的单词输出。
#include <stdio.h>
#include <string.h>
#define number1 100
#define number2 20
void statisticsWord(char string[],char maxWord[]);
int main()
{
char string[number1];
char maxWord[number2];
printf("输入句子:");
gets(string);
statisticsWord(string,maxWord);
printf("最长的单词:");
puts(maxWord);
return 0;
}
void statisticsWord(char string[],char maxWord[])
{
int length = 0;
int maxLength = 0;
for (int i = 0; i <= strlen(string); i++)
{
if (string[i] == ' ' || string[i] == '\0')
{
string[i] = '\0';//字符串数组是以\0为结束标志
length = strlen(string);
if (length > maxLength)
{
maxLength = length;
for (int i=0; i<=strlen(string); i++)
{
maxWord[i] = string[i];
}
string = string+length+1;//把字符串数组的首地址移到string[i]='\0'的下一号元素
i=-1;//使后一次的查找从新的字符串第0号开始,-1是i++的影响
}
}
}
}