关于输出字符串中最长单词的问题
#include<stdio.h>#include<string.h>
char longestword(char x[]);
int main()
{
char a[80];
printf("请输入一行字符:\n");
gets(a);
printf("%s",longestword(a));
return 0;
}
char longestword(char x[])
{
int i, n, wlen, lwlen;//wlen保存单词的长度,lwlen保存扫描到最长单词的长度。
char w[80], lw[500];//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++;
continue;
}
else
{
if (wlen > lwlen)
{
strcpy_s(lw, 30, w);
lwlen = wlen;
wlen = 0;
}
else
continue;
}
}
return(lw);
}