帮帮忙,看下面这个程序
作用是输出一个字符串中最长的单词。#include<stdio.h>
void main()
{
void word(char a[]);
char str[20];
printf("input a string:\n");
gets(str);
word(str);
}
void word(char a[20])
{
int i,p=0,q=0,k=0;
for(i=0;a[i]!=' ';i++)
p++;
for(i=0;a[i]!='\0';i++)
{
if(a[i]==' ')
{
if(q>p)
{
p=q;
k=i-p;
}
q=0;
}
else q++;
}
for(i=k;i<=p;i++)
printf("%c",a[i]);
}
我是想让p始终存放当前最长单词的长度,q存放当前单词的长度。但是结果不对