| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 667 人关注过本帖
标题:额,求各位帮忙看下我这个程序,为什么最后输出不正确?
只看楼主 加入收藏
深之森
Rank: 1
等 级:新手上路
帖 子:4
专家分:4
注 册:2011-11-23
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:7 
额,求各位帮忙看下我这个程序,为什么最后输出不正确?
这个程序是实现在字符串s1中的指定字符ch位置处插入字符串s2。
但是最后一直输不出正确的结果,求各位帮忙 看看是哪里错了 谢谢啦

程序代码:
#include<stdio.h>
#define L 20
int search(char *p1,char *p2,char c)//用来检索和插入
{
    char a[L];
    int i;
    for(i=0;i<=L-1;i++)
    {
    
        a[i]=*p1;
        if(a[i]==c)
            while(*p2!='\n')
            {
                i++;
                a[i]=*p2;
                p2++;
            }
            p1++;

    }

 
    return a[L];//这里这个a[L]就已经是我要得到的那个数组了

}
int att(char a[L])//用来输入数组
{    int i;
    for(i=0;i<=L-1;i++)
    {
        a[i]=getchar();
        if(a[i]=='\n')
            break;
    }
    
    return a[L];
}
int main()
{
    int i;
    char *m, *n,c;
    char a[L]={0};
    char b[L]={0};
    char d[40]={0};

    printf("输入一段字符:");
    a[L]=att(a);
    printf("再输入一段字符:");
    b[L]=att(b);
    printf("输入指定字符:");
    c=getchar();

    m=a,n=b;
    d[40]=search(m,n,c);
    printf("插入后的字符:");
    for(i=0;i<=L;i++)
    {
        if(d[i]=='\n')
            break;
        else
            printf("%c",d[i]);//d[40]输出地不是我想要的
    }
    printf("\n");
    return 0;

}


[ 本帖最后由 深之森 于 2011-12-7 13:57 编辑 ]
搜索更多相关主题的帖子: 字符串 
2011-12-07 13:26
讯草
Rank: 2
等 级:论坛游民
帖 子:26
专家分:55
注 册:2011-10-19
收藏
得分:0 
??  貌似可以得到你想要得结果啊。。。。
2011-12-07 13:52
深之森
Rank: 1
等 级:新手上路
帖 子:4
专家分:4
注 册:2011-11-23
收藏
得分:0 
回复 2楼 讯草
额,抱歉,程序刚刚没有全弄好就发上去了,现在这个才是我出错的那个 麻烦看下 谢谢啦
2011-12-07 13:58
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
回复 楼主 深之森
楼主跟本不明白数组怎么用,乱写一气

总有那身价贱的人给作业贴回复完整的代码
2011-12-07 13:59
深之森
Rank: 1
等 级:新手上路
帖 子:4
专家分:4
注 册:2011-11-23
收藏
得分:0 
回复 4楼 embed_xuel
额,能具体说一下是哪里吗?我编程不是很好 求指教
2011-12-07 14:03
cqm9266
Rank: 3Rank: 3
来 自:福建
等 级:论坛游侠
帖 子:174
专家分:186
注 册:2011-10-28
收藏
得分:2 
int att(char a[L])//用来输入数组
 {    int i;
     for(i=0;i<=L-1;i++)
     {
         a[i]=getchar();
         if(a[i]=='\n')
             break;
     }
这个函数里面应该加个  int reacher (char,char,cahr)吧?
     

没病的人说有病的人有病,有病的人说没病的人有病。到底是谁有病?
2011-12-07 14:57
edwardflee
Rank: 4
等 级:业余侠客
帖 子:145
专家分:234
注 册:2011-7-27
收藏
得分:8 
d[40]=search(m,n,c);
数组不是这么赋值的吧?search函数返回的也不是数组而是元素吧?而且下标溢出,返回值还是int型的?


学C的秘诀=每天都来泡论坛
2011-12-07 15:47
心灵百合
Rank: 5Rank: 5
等 级:职业侠客
帖 子:215
专家分:367
注 册:2011-3-30
收藏
得分:0 
问题太多,
2011-12-07 17:41
快速回复:额,求各位帮忙看下我这个程序,为什么最后输出不正确?
数据加载中...
 
   



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

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