看我的c程序哪里错了

来源:百度知道 编辑:UC知道 时间:2024/09/25 16:40:14
要求输入一句英文,求最长的单词输出。我编的程序老是提示十多个错误,请高手们指点一下,谢谢啊
#include<stdio.h>
#include<string.h>
void main()
{
char str[100];
printf("请输入一行英文:");
gets(str);
char str1[20],str2[20];
int i=0,j=0,m;
for(m=0;m<20;m++)
{
str1[m]='\0';
str2[m]='\0';
}
for(m=0;str[m]!='\0';m++)
{
if(str[m]!=' ')
{
str2[i]=str[m];
i++;
}
if(i>j)
{
j=i;
strcpy(str1,str2);
}
if(srt[m]==' ')i=0;
}
printf("最长的单词是:%s\n",str1);
}

#include<stdio.h>
#include<string.h>
void main()
{
char str[100];
char str1[20],str2[20];
int i=0,j=0,m;
printf("请输入一行英文:");
gets(str);
/*这个地方原来是定义变量的,应挪到起始*/
for(m=0;m<20;m++)
{
str1[m]='\0';
str2[m]='\0';
}
for(m=0;str[m]!='\0';m++)
{
if(str[m]!=' ')
{
str2[i]=str[m];
i++;
}
if(i>j)
{
j=i;
strcpy(str1,str2);
}
if(str[m]==' ')i=0; /*这个地方原来是if(srt[m]==' ')i=0; */
}
printf("最长的单词是:%s\n",str1);
}

大概看了一下,只看到一个拼写错误,逻辑上面没看
if(srt[m]==' ')i=0;
改为:
if(str[m]==' ') i=0;