| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1012 人关注过本帖
标题:指针函数传递,不明白哪儿错了,大虾来帮忙看看
取消只看楼主 加入收藏
杨帽帽
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2011-4-23
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:4 
指针函数传递,不明白哪儿错了,大虾来帮忙看看

#include <stdio.h>


copystr(char *from,char *to)
{   int i;                    //此函数用意为将from复制到to,然后将to一一字符输出
     for(i=0;*(from+i)!='\0';i++)
         *(to+i)=*(from+i);
     *(to+i)='\0';
for(i=0;*(to+i)!='\0';i++)
        printf("%c",*(to+i));


}


main()               //使用指针复制字符串
{
    char *a="I am a boy.",*b="you are a bitch.";
    int i;
    copystr(a,b);
   

   
}


无法运行,为何啊?
搜索更多相关主题的帖子: 字符串 bitch 
2011-05-03 21:34
杨帽帽
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2011-4-23
收藏
得分:0 
回复 3楼 ansic

#include <stdio.h>


void copy(char *from,char *to)
{
    for(;*from!='\0';from++,to++)
        *to=*from;
    *to='\0';
}

main()
{
    char *a="sdihf sf";
    char *b="odjanwe ksef";

    copy(a,b);
    printf("\n%s\n",b);
}


这个是几乎照搬书上的,也运行不出来。怎么回事?

还有2楼那位兄弟,*(to+i)=*(from+i)这样赋值有什么错?
2011-05-03 22:16
杨帽帽
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2011-4-23
收藏
得分:0 
回复 4楼 懂也不懂
我的意思就是复制字符串,但是都用指针,怎么就

void copy(char *from,char *to)
{
    for(;*from!='\0';from++,to++)
      *to=*from;
    *to='\0';
}


main()
{
     char *a="sdj sdlfjeoirjg";
     char *b="lajgo sdlwi ";
   
    copy(a,b);

    for(;*b!=0;b++)
        printf("%c",*b);
}

这是我写的一个算法,我知道这个有问题,就是经过copy函数调用后,b所指的位置其实是指在“sdj sdlfjeoirjg\0”的最后一位\0上面是吧?但是这个问题如何解决呢
2011-05-03 22:27
杨帽帽
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2011-4-23
收藏
得分:0 
回复 7楼 misswe
输出a我还复制个啥,我就是要将a复制给b,然后看输出的b是不是等于a
2011-05-03 22:28
杨帽帽
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2011-4-23
收藏
得分:0 
运行不出来,ca
2011-05-03 23:13
快速回复:指针函数传递,不明白哪儿错了,大虾来帮忙看看
数据加载中...
 
   



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

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