24小时热门版块排行榜    

查看: 349  |  回复: 3

zyj8119

木虫 (著名写手)


[交流] 【求助】此程序编译没问题,但是结果错误【已完结】

CODE:
#include
#include
#include
char *insertstr(char *str,char *str1,char *str2)
{   int i=0,j,k,m,n,len2;
    if(str[0]=='\0'||str1[0]=='\0'||str2[0]=='\0')
                return str;
        len2=strlen(str2);
        while(str[i]!='\0')
        {   j=i;
            k=0;
                while(str[j]==str1[k]&&str1[k]!='\0')
                {j++;k++;}
                if(j!=i&&str1[k]=='\0')
                { n=0;
                for(m=strlen(str);m>=j;m--)
                        str[m+len2]=str[m];
                for(m=j;m                         str[m]=str2[n++];
                i=i+j;
                }
                i++;
        }
        return str;
}

main()
{    char str[80]="I can speak English.You can speak English.";
     char *p;
         p=insertstr(str,"Englsh","too");
         puts(p);
         getch();
}

正确的结果应该是I can speak Englsh too.You can speak Englsh too.

[ Last edited by 余泽成 on 2010-12-6 at 16:16 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

» 抢金币啦!回帖就可以得到:

查看全部散金贴

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

soar0603

银虫 (小有名气)



zyj8119(金币+1):谢谢参与
zyj8119(金币+9):谢谢高手。。 2010-12-05 08:53:35
应该是 i=i+j;不对,该改为i=j+len2吧
2楼2010-12-05 01:21:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zyj8119

木虫 (著名写手)


引用回帖:
Originally posted by soar0603 at 2010-12-05 01:21:16:
应该是 i=i+j;不对,该改为i=j+len2吧

还是不行啊。
3楼2010-12-05 08:56:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

soar0603

银虫 (小有名气)



zyj8119(金币+10):谢谢解答。 2010-12-05 10:49:05
余泽成(金币+1):谢谢参与应助! 2010-12-06 16:16:20
#include
#include
#include
char *insertstr(char *str,char *str1,char *str2)
{  
    int i=0,j,k,m,n,len2;
    if(str[0]=='\0'||str1[0]=='\0'||str2[0]=='\0')
         return str;
    len2=strlen(str2);
    while(str!='\0')
    {   
        j=i;
        k=0;
        while((str[j]==str1[k])&&(str1[k]!='\0'))
        {
        j++;
        k++;
        }
        if((j!=i)&&(str1[k]=='\0'))
        {
        n=0;
        for(m=strlen(str);m>=j;m--)
                        str[m+len2]=str[m];
        for(m=j;m                         str[m]=str2[n++];
        i=j+len2;
        }
        else
        {
               i++;
        }
    }
    return str;
}

void main()
{   
    char str[80]="I can speak English.You can speak English.";
    char *p;
    p=insertstr(str,"English"," too";
    puts(str);
    getch();
}

大哥,你的English拼错了

[ Last edited by soar0603 on 2010-12-5 at 10:49 ]
4楼2010-12-05 10:46:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zyj8119 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见