#include <stdio.h>
//在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,空格用来分隔不同单词
int main()
{
char str[]="heima wo mashang lai le";
//定义数组来存放字符串
int max=0;
//定义max为最长单词的个数
char *p;
char *p2;
int i=0;
//定义当前字符下标
while(str[i]!='\0')
//遍历当前字符串
{
int n=0;
//定义当前单词长度,碰到空格重新归0
while (str[i] != ' ' && str[i] != '\0')
{
n++;
p=&str[i];
}
if (max < n)
{
max = n;
p2=p;
}
//如果当前单词长度大于max,就把当前长度值n赋值给max,并且记录当前最长单词的首尾字母下标
i++;
}
//最长的单词字符个数即为max
printf("最长的单词是:");
for(int m = 0; m < max ;m++)
//用for循环输出最长单词的每个字符
{
printf("%c",*(p2+m));
}
printf("\n");
return 0;
}
|
|