/*7.编写一个函数,统计出一个字符串中的单词数,
将每个单词存起来,并且返回最长单词。
函数原型定义如下:char * word ( char * str ) ;*/
#include
#include
char *word(char *str)
{
int i=0,maxi,j=0,k=0,flag=0;
int s,t;
char *p[100];
while(str[j]!='\0')
{
if(str[j]==' ')
{
str[j]='\0';//遇空格,在串尾加“\0",为什么运行到这里就出错??
flag=0;
if( str[j+1]!='\0')
k++;
}
else flag++;
if(flag==1)
{
p[k]=&str[j];
}
j++;
}
for(i=0;i
{
t=strlen(p[i]);
if(t>s);
s=t;
maxi=i;
}
return(p[maxi]);
}
void main()
{
char *s="hellow world!welcome to my country";
char *t=word(s);
printf("%s\n",t);
}
这个哪里有问题??