[求助]输出一行字符中最长的单词
请高手帮忙,我的程序如下,为什么有时候能输出正确的结果,有时候却不能,而且还会产生乱码main()
{int i=0,j=0,k=0,p,max;
char a[10][10],b[20];
int c[10]; /*c数组中存放a数组中的行标*/
gets(b);
puts(b);
do
{
if(b[i]!=' ')
{
a[k][j]=b[i];
j++;
}
else
{
c[k]=j;
j=0;
k++;
}
i++;
}
while(b[i]!='\0');
max=c[0];
for(i=0;i<=k;i++)
if(c[i]>max)
{
max=c[i];
p=i;
}
for(i=0;i<=max-1;i++)
printf("%c",a[p][i]);
printf("\n");
}