| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4892 人关注过本帖
标题:编写一个求字串的函数sub_str(char *s1,char *s2,int m,int n),作用是将字符 ...
只看楼主 加入收藏
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
结帖率:84.38%
收藏
已结贴  问题点数:10 回复次数:17 
编写一个求字串的函数sub_str(char *s1,char *s2,int m,int n),作用是将字符串s1中从第m个字符开始的n个字放入字符串s2中;
编写一个求字串的函数sub_str(char *s1,char *s2,int m,int n),作用是将字符串s1中从第m个字符开始的n个字放入字符串s2中;
问题出在什么地方,求高手指出问题的地方
#include"stdio.h"
#include"string.h"
    void sub_str(char *s1,char *s2,int m,int n){
   

    int l1,l2,i;
   
    l2=strlen(s2);
    for(i=1;i<=n;i++)
       {
           
       (s2+l2-1)++=(s1+m-1)++;}
       printf("%s",s2);}
    int main(){
        int m=0,n=0;
        char* s1;
        char* s2;
        char a[80],b[80];
        s1=a;
        s2=b;
       printf("输入字符串1");
       gets(s1);
    printf("输入字符串2");
        gets(s2);
     printf("输入m和n的值");
     scanf("%d %d",&m,&n);
      sub_str(s1,s2,m,n);}

[ 本帖最后由 a271885843 于 2012-1-11 00:31 编辑 ]
搜索更多相关主题的帖子: void include 字符串 
2012-01-10 23:03
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
收藏
得分:0 
我要顶上去,不能沉

认为事物非黑即白是缺智慧的表现……
2012-01-10 23:13
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:3 
回复 2楼 a271885843
for(i=m;i<=m+n;i++)
{
       *(s2+l2+i-m)=*(s1+i-1);
}
*(s2+l2+n) = '\0'

手机改的,你试试

总有那身价贱的人给作业贴回复完整的代码
2012-01-10 23:34
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
收藏
得分:0 
以下是引用embed_xuel在2012-1-10 23:34:24的发言:

for(i=m;i<=m+n;i++)
{
       *(s2+l2+i-m)=*(s1+i-1);
}
*(s2+l2+n) = '\0'
 
手机改的,你试试
噢,你这个写法是正确的,能够运行

认为事物非黑即白是缺智慧的表现……
2012-01-11 00:07
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
收藏
得分:0 
以下是引用embed_xuel在2012-1-10 23:34:24的发言:

for(i=m;i<=m+n;i++)
{
       *(s2+l2+i-m)=*(s1+i-1);
}
*(s2+l2+n) = '\0'
 
手机改的,你试试
*(s2+l2+i-m)为什么要-m呢,求解,求解,求解,求解,求解,求解,求解,求解,求解,求解,求解,求解,求解,求解,求解,求解,求解,求解,求解,求解,

认为事物非黑即白是缺智慧的表现……
2012-01-11 00:15
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
回复 5楼 a271885843
因为for循环i是从m开始的

总有那身价贱的人给作业贴回复完整的代码
2012-01-11 00:26
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
收藏
得分:0 
以下是引用embed_xuel在2012-1-11 00:26:58的发言:

因为for循环i是从m开始的
明白了。呵呵

认为事物非黑即白是缺智慧的表现……
2012-01-11 00:32
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
收藏
得分:0 
问题虽然解决了,但我还是想知道指针的方法为什么有问题,而要通过字符传递的方式才可以

认为事物非黑即白是缺智慧的表现……
2012-01-11 00:34
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:3 
能夠運行還不等於編程正確了,有漏洞,再想想?

授人以渔,不授人以鱼。
2012-01-11 01:08
hengde_li
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:131
专家分:178
注 册:2010-1-15
收藏
得分:3 
好像你的字符长度还要加1啊,用来存放"\0"
2012-01-11 09:11
快速回复:编写一个求字串的函数sub_str(char *s1,char *s2,int m,int n),作用是 ...
数据加载中...
 
   



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

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