求助这个程序。。。关于小于和小于等于的问题
#include "stdio.h"alp(char c)
{if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
return(1);
else
return(0);
}
longest(char str[])
{int i,len=0,length=0,flag=1,point,place;
for(i=0;i<=strlen(str);i++)
{
if(alp(str[i]))
{if(flag)
{point=i;
flag=0;
}
else len++;}
else
{flag=1;
if(len>=length)
{length=len;
place=point;
len=0;}
}
}
return(place);
}
main()
{char line[100];
int j;
printf("aaaa \n");
gets(line);
printf("aaaaaaa \n");
for(j=longest(line);alp(line[j]);j++)
printf("%c",line[j]);
printf(" \n");
}
这个程序可以运行。。。。就是输入一个字符串返回其中最长的那个单词。。。。。。。现在我想问的是这段
longest(char str[])
{int i,len=0,length=0,flag=1,point,place;
for(i=0;i<=strlen(str);i++)
为什么是i<=strlen(str)而不是i<strlen(str)我改成i<strlen(str)输出结果就不正确了。。。。。比如输入i am a student。。。如果是<=能输出student。。。但是如果换成<就输出不正确的am。。。。。。。