函数返回值应该是 char * 类型
程序代码:#include<stdio.h>
#include<string.h>
void longestword(char x[],char lw[]);
int main()
{
char a[80];
char lw[500]={0};
printf("请输入一行字符:\n");
gets(a);
longestword(a,lw);
printf("%s\n",lw);
return 0;
}
void longestword(char x[],char lw[])
{
int i, n, wlen, lwlen;//wlen保存单词的长度,lwlen保存扫描到最长单词的长度。
char w[80];//w保存扫描到的单词,lw保存扫描到最长的单词。
n = strlen(x);
lwlen = wlen = 0;
for (i = 0;i < n;i++)
{
if ((x[i] >= 'A'&&x[i] <= 'Z') || (x[i] >= 'a'&&x[i] <= 'z'))
{
w[wlen] = x[i];
wlen++;
}
else
{
if (wlen > lwlen)
{
strcpy(lw, w);
lwlen = wlen;
lw[wlen]='\0';
}
wlen = 0;
}
}
}
