十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
开头加上c[0]=\0,将c长度置为0 。你多处k写成了i,帮你改回来。b[j]=a[k];后加上b[j+1]=\0,否则b字符串无结束标记。
创新新互联,凭借十多年的网站设计制作、成都网站建设经验,本着真心·诚心服务的企业理念服务于成都中小企业设计网站有近1000家案例。做网站建设,选成都创新互联公司。
把fun函数中for(i=0; a[i]!=/0 i++)改成for(i=0; a[i]!=\0 i++)。
这个不难,你没有理解strlen函数的用法。你把: char b[22] 改成char b[22]={ };就行了。strlen是求字符串的实际长度,如果你只定义而没有给它赋初值,那么它求的结果是不定的。
{ maxLen = currLen;MaxStart = currStart;} if(str[i]== )//遇到空格,即一个单词已经结束。
这个不难,你没有理解strlen函数的用法。你把: char b[22] 改成char b[22]={ };就行了。strlen是求字符串的实际长度,如果你只定义而没有给它赋初值,那么它求的结果是不定的。
当然不行。首先 for(r=1;r22;r++)scanf(%c\n,&a[r]);就有问题。意思是不管你前面输入了多少。直到回车停止只读了第一个字符。然后重复21次要。注意。
循环体内用m记录单词个数。第二层结束循环后对比如果m大于n,(n=m;s=i)。然后判断j位置是否是结尾。是就跳出第一层循环,否则继续。等循环完了。s就是单词开始位置。用个循环输出就可以。
/*以下6行,函数alphabetic,判断是否为字母*/ int alphabetic(char c){ if((c=a&&c=z)||(c=A&&c=Z))return(1);else return(0);} /*以下30行,函数longest,计算最长单词的起始位置。
1、上一次读到的最长单词长度,所以最后输出时要再判断一下max和count的大小,输出大的那个。
2、p2=p1; } len=0; } else // 如果当前字符非空,如果当前长度为0,则表示新单词。
3、把fun函数中for(i=0; a[i]!=/0 i++)改成for(i=0; a[i]!=\0 i++)。
4、{ max=len;p2=p1;} len=0;} else // 如果当前字符非空,如果当前长度为0,则表示新单词。