| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 480 人关注过本帖
标题:帮忙解释下这个程序的一部分是什么意思
只看楼主 加入收藏
truthwc
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-6-3
收藏
 问题点数:0 回复次数:6 
帮忙解释下这个程序的一部分是什么意思

在某字符串中找出指定子串在该字符串中第一次出现的位置
红字部分不太懂什么意思



#include <stdio.h>
#include <string.h>

int find(char s1[],char s2[])
    {
        int i,j,m;
        int len1 = strlen(s1);
        int len2 = strlen(s2);
        if(len1-len2<0)
          return 0;
            for (i=0; i<=len1-len2; i++)   
            {
                 for (j=0; j<len2; j++)
                 {
                     if (s1[i+j]!=s2[j])
                      break;
                 }
                 if (j==len2)
                 return i+1;
        }
        return 0;
}

void main()
{
    int x;
    char a[]="fheiwgwregcsdv";
    char b[10];
    printf("输入查找字符串:");
    gets(b);
    x=find(a,b);
    printf("%d\n",x);
}



 
搜索更多相关主题的帖子: 解释 
2010-06-03 20:38
truthwc
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-6-3
收藏
得分:0 
这个程序好像写错了
谁能帮忙修改一下,题目是这样的:
设计以数组名作为参数的函数,用来在某字符串中找出指定子串在该字符串中第一次出现的位置。此位置用子串第一个字符在字符串中的位置来表示,如该字符串不包含子串则返回0。并设计主函数测试上述函数的功能。
2010-06-03 20:52
z9895512
Rank: 2
等 级:论坛游民
帖 子:24
专家分:43
注 册:2010-6-3
收藏
得分:0 
没有错啊!
2010-06-03 23:15
a8979595
Rank: 2
等 级:论坛游民
帖 子:34
专家分:54
注 册:2010-5-31
收藏
得分:0 
strlen在C中石用来统计字符的个数,也就是不str1的字符个数赋值给len1,str2的字符个数赋值len2
2010-06-04 17:36
韩明海
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:253
专家分:749
注 册:2010-4-3
收藏
得分:0 
   for (i=0; i<=len1-len2; i++)    如果len1=9,len2=9,那么只要比较1次就可以了,如果len1=9,len2=7只要比较三次就可以了,第四个字符以后就不用
  {                                比了,从第四个字符到结尾的字符串长度都小于len2了,怎么可能相等呢
      for (j=0; j<len2; j++)       然后就一个字符一个字符的比较,有一个字符不相同就从新从s1的下一个字符开始往后比较
     {
        if (s1[i+j]!=s2[j])
          break;
      }
     if (j==len2)
    return i+1;

2010-06-04 18:40
平常心飞儿
Rank: 2
来 自:内蒙古科技大学
等 级:论坛游民
帖 子:14
专家分:23
注 册:2010-6-3
收藏
得分:0 
红字部分算法有问题!!   把红字部分最后一个return 0去掉
2010-06-04 22:55
韩明海
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:253
专家分:749
注 册:2010-4-3
收藏
得分:0 
所有的return 都没问题啊,
2010-06-07 12:40
快速回复:帮忙解释下这个程序的一部分是什么意思
数据加载中...
 
   



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

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