| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 592 人关注过本帖
标题:我实在找不到错误。帮帮忙!
只看楼主 加入收藏
丢了幸福
Rank: 2
等 级:论坛游民
帖 子:44
专家分:10
注 册:2010-7-24
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
我实在找不到错误。帮帮忙!
#include<stdio.h>
#include<string.h>
int FindSubstr(char str[],char substr[])
{
    int i,j,n=0,count=0;
    int len1;
    int len2;
    len1=strlen(str);
    len2=strlen(substr);
    if(len1<len2)
    {
        return 0;
    }
    else
    {
        for(i=0;i<len1-len2;i++)
        {
            for(j=0;j<len2;j++)
            {
                if(substr[j]==str[i+j])
                {
                    n++;
                }
                else
                {
                    break;
                }
            }
                if(n==len2)
                {
                    count++;
                }
                n=0;
        }

    }
}
int main( )
{
    char str[100]={'\0'};
    char substr[100];
    int nsubstr=0;
    printf("please input str:\n");
    gets(str);
    printf("please input substr:\n");
    gets(substr);
    nsubstr=FindSubstr(str,substr);
    printf("%d\n",nsubstr);
    return 0;
}
搜索更多相关主题的帖子: include return count 
2010-07-25 22:10
rainbow1
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:277
专家分:839
注 册:2010-5-19
收藏
得分:0 
子函数当中
else
要返回什么值?
2010-07-25 22:50
丢了幸福
Rank: 2
等 级:论坛游民
帖 子:44
专家分:10
注 册:2010-7-24
收藏
得分:0 
跳出当前循环啊
2010-07-26 12:37
hehe365
Rank: 1
等 级:新手上路
帖 子:103
专家分:0
注 册:2006-10-20
收藏
得分:0 
回复 3楼 丢了幸福
子函数在else情况下也应该返回值要不你的函数在else情况下就没有返回值了,当然出错

2010-07-26 13:05
do8do8do8
Rank: 10Rank: 10Rank: 10
来 自:沙滩
等 级:贵宾
威 望:17
帖 子:366
专家分:1845
注 册:2010-7-2
收藏
得分:20 
我不明白你这个是做什么的,我当做是查找是否有字串来出来,输出0表示没找到 输出1表示找到了
#include<stdio.h>
#include<string.h>
int FindSubstr(char str[],char substr[])
{
    int i,j,n=0,count=0;
    int len1;
    int len2;
    len1=strlen(str);
    len2=strlen(substr);
    if(len1<len2)
    {
        return 0;
    }
    else
    {
        for(i=0;i<len1-len2;i++)/*这个改成i<=len1-len2*/
        {
            for(j=0;j<len2;j++)
            {
                if(substr[j]==str[i+j])
                {
                    n++;
                }
                else
                {
                    break;
                }
            }
                if(n==len2)
                {
                    count++;
                }
                n=0;
        }
       if(count>0)  /*加上这句*/
          return 1;
    }
}
int main( )
{
    char str[100]={'\0'};
    char substr[100];
    int nsubstr=0;
    printf("please input str:\n");
    gets(str);
    printf("please input substr:\n");
    gets(substr);
    nsubstr=FindSubstr(str,substr);
    printf("%d\n",nsubstr);
    return 0;
}

学C语言从底层开始,学编程从问题开始,一日学会C!!!
2010-07-26 13:10
快速回复:我实在找不到错误。帮帮忙!
数据加载中...
 
   



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

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