| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 371 人关注过本帖
标题:关于指针的
取消只看楼主 加入收藏
郭俊森
Rank: 1
等 级:新手上路
帖 子:27
专家分:3
注 册:2013-2-28
结帖率:57.14%
收藏
已结贴  问题点数:20 回复次数:2 
关于指针的
怎么样才能用char *copy(char *s1,char *s2,int m), 将串s2中从第m个字符开始的全部字符复制到s1
我一用for(h=s1;*s1!=‘\0’;s1++)后返回s1时就没值了这是怎么回事帮忙解决
2013-06-06 19:40
郭俊森
Rank: 1
等 级:新手上路
帖 子:27
专家分:3
注 册:2013-2-28
收藏
得分:0 
谢谢,我改了一下得到了我想要的了下面是我改的。同时我想问一下有没有char *copy(char *s1,char *s2,int m)中的返回怎么做呢?

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

void *copy(char *s1 ,char *s2 ,int m )
{
    int l2 ,i;
    char *p1 ,*p2;
   
    l2 = strlen(s2);
    p1 = s2 + l2;//p1指向s2的'\0'
    p2 = s1 + m - 1;
    for(i=1 ;*p2!='\0' ;i++) //增量运算符所作用的运算对象只能是变量,不能是常量或由运算符构成的表达式。
    {                  //例如,(x+y)++、++5 都是不正确的。 增量运算符作用于
        *p1++ = *p2++;  //变量以后,与变量一起构成了一个新的表达式──增量表达式。
    }                  //增量表达式不能出现在赋值表达式的左边。例如,i++=1 是不允许的。
    *p1 = '\0';   
    printf("%s\n" ,s2);
}

void main()
{
    int m = 0;
    char a[80] ,b[80];
    printf("输入字符串1:\n");
    gets(a);
    printf("输入字符串2:\n");
    gets(b);
    printf("输入m的值:\n");
    scanf("%d",&m );
    copy(a ,b ,m );
}
2013-06-06 20:02
郭俊森
Rank: 1
等 级:新手上路
帖 子:27
专家分:3
注 册:2013-2-28
收藏
得分:0 
我运行正确啊
2013-06-06 20:54
快速回复:关于指针的
数据加载中...
 
   



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

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