| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 650 人关注过本帖
标题:紧急求助:单词个数统计的疑问!!!!!!!!
只看楼主 加入收藏
cbullet
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2008-3-13
收藏
 问题点数:0 回复次数:1 
紧急求助:单词个数统计的疑问!!!!!!!!
编写一个函数findStr(char *str,char *substr),该函数统计一个长度为2的子字符串在另一个字符串中出现的次数。例如,假定输入的字符串为"asd asasdfg asd as zx67 asd mklo",子字符串为"as",函数返回值是6。

int findStr(char *str,char *substr)
{ int i,j,len1,len2,cnt=0,flag;
  len1=strlen(str);
  len2=strlen(substr);
  for(i=0;i<len1;i++)
   { for(j=0;j<len2;j++)
       if(str[i+j]==substr[j])   flag=1;
       else {flag=0;break;}
     if(flag==1)  cnt++;
   }
  return cnt;
}
问题:蓝色部分的语句,是什么含义?谢谢了
搜索更多相关主题的帖子: 单词 疑问 统计 
2008-04-04 22:06
moonwalker
Rank: 1
等 级:新手上路
威 望:1
帖 子:909
专家分:2
注 册:2007-3-2
收藏
得分:0 
这样写好看一些
if(str[i+j]==substr[j])   
    flag=1;
else
{
    flag=0;
    break;
}

str[i+j]是主串字符,substr[j]是子串字符
先判断开始的字符是否相等,如果有一个相等就置标志位flag为1
然后j的循环就会去判断下一个字符,如果相等flag继续置1,不相等就标志置0,跳出当前的j循环
如果子串字符全相等,即循环结束时flag为1就次数加1,如果为0就不加
写了一堆,不知道能看懂不

“视频教程网”免费提供教学资源
C不限制你的自由!
条件是自己承担滥用自由的恶果!
2008-04-04 22:34
快速回复:紧急求助:单词个数统计的疑问!!!!!!!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014076 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved