| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 757 人关注过本帖
标题:编写 strcpy 出错,请帮忙纠错
只看楼主 加入收藏
l3456
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:80
专家分:133
注 册:2014-4-16
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:13 
编写 strcpy 出错,请帮忙纠错
程序代码:
#include<stdio.h>
#include<string.h>
int main()
{
    char *q, *p;
    scanf("%s%s",q,p);
    printf("%s",strcpy(q,p));
     return 0;
}

char *strcpy(char *strDest,char *strSrc)
{
    char *address=strDest;
    while(*strSrc!='\0')
    {
        *strDest=*strSrc;
        strDest++;
        strSrc++;
    }
    *strDest='\0';
    return address;
}
2014-08-20 23:24
ditg
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:16
帖 子:852
专家分:1937
注 册:2014-4-10
收藏
得分:0 
char *strcpy(char *strDest, const char *strSrc)
{
    char *address=strDest;
    while (*address++ = *strSrc++)
        ;
    return strDest;
}

梦想拥有一台龙芯3A-4000
2014-08-20 23:40
ditg
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:16
帖 子:852
专家分:1937
注 册:2014-4-10
收藏
得分:0 
“写了输入语句,从来不想办法去看看输入效果是否与愿望相符的,太多了,已经算是论坛常见毛病。编程的良好习惯没培养好,都不知师从何家的。其实排错也是从检查输入了什么开始呀。”    ---引自下岗又上岗的版主

梦想拥有一台龙芯3A-4000
2014-08-21 02:33
l3456
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:80
专家分:133
注 册:2014-4-16
收藏
得分:0 
回复 2 楼 ditg
我感觉不是这里的错吧,应该是输入出错了

走向光明的菜鸟学生,励志成为新一代程序猿
2014-08-21 07:38
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
函数中的局部变量是不能作为函数的返回值返回的

DO IT YOURSELF !
2014-08-21 08:54
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
回复 4 楼 l3456
只看3楼就行了

总有那身价贱的人给作业贴回复完整的代码
2014-08-21 10:02
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:2 
char *q, *p;
    scanf("%s%s",q,p);

这里的p q 接收到的数据(假设能够接收到) 往哪里放呢  没有仓库啊

DO IT YOURSELF !
2014-08-21 10:27
ditg
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:16
帖 子:852
专家分:1937
注 册:2014-4-10
收藏
得分:0 
/* #include<string.h> */

梦想拥有一台龙芯3A-4000
2014-08-21 10:38
落花雨后
Rank: 1
等 级:禁止访问
帖 子:10
专家分:9
注 册:2014-8-20
收藏
得分:2 
你不是编写strcpy吗???那你直接上<string.h>,用strcpy什么意思啊???用现成的函数还用写什么串拷贝啊!!!再说了,你怎么还用关键字当函数的名字啊!!!你这个编程的习惯方式比我还差!!!我都够菜鸟了,你这是还没有孵化的蛋啊(玩笑)!!!建议你练习这么简单的东西时还是用定义一个字符串方式来吧!!!上来就指针啊,慢慢来吧!!!我改了下,你看看是你想实现的意思不(本人菜鸟,说的不一定对,你就挑对的用吧):
#include<stdio.h>
//#include<string.h>
//char *strcpy(char *strDest,char *strSrc)
char *strcp(char *strDest,char *strSrc)
{
    char *address=strDest;
    while(*strSrc!='\0')
    {
        *strDest=*strSrc;
        strDest++;
        strSrc++;
    }
    *strDest='\0';
    return address;
}
int main()
{
    char a[5],b[6];
    char *q=a, *p=b;
    scanf("%s%s",q,p);
    //printf("%s",strcpy(q,p));
     printf("%s",strcp(q,p));
     return 0;
     
}
2014-08-21 10:43
apull
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:三体星系
等 级:版主
威 望:216
帖 子:1488
专家分:9082
注 册:2010-3-16
收藏
得分:6 
strcpy不是关键字。

程序代码:
#include<stdio.h>
//#include<string.h>    //这句不需要

char *strcpy(char *strDest,char *strSrc)
{
    char *address=strDest;
    while(*strSrc!='\0')
    {
        *strDest=*strSrc;
        strDest++;
        strSrc++;
    }
    *strDest='\0';
    return address;
}

int main()
{
    char *q, *p;    //这里只是定义了2个指针变量,并没有分配空间。
    char cq[100],cp[100];
    q=cq;
    p=cp;    //分配空间
    //scanf("%s%s",q,p);    //不需要2个都输入
    scanf("%s",p);

    strcpy(q,p);
    printf("%s",q);    //输入p,输出q,更能体现字符串的复制结果
    return 0;
}
2014-08-21 13:23
快速回复:编写 strcpy 出错,请帮忙纠错
数据加载中...
 
   



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

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