24小时热门版块排行榜    

查看: 1566  |  回复: 6
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

hywC

新虫 (小有名气)

[求助] 利用指针函数复制数组的C++程序纠错

#include "StdAfx.h"
#include <stdio.h>
#include <PROCESS.H>
char *ch(char *str1,char *str2);
void main()
{
       
        char str1[]="I am glad to meet you!";
        char str2[]="Welcome to study C!";
        printf("%s\n",ch(str1,str2));
}
char *ch(char *str1,char *str2)
{
       
        char *p;
        p=str2;
               
                if(*str2==NULL) exit(-1);
       
                while (*str1!=NULL)
                {
                        *str2=*str1;
                        str1++;
                        str2++;
                }
                return p;
}
为什么结果是:I am glad to meet you!am glad to meet you!。求纠错,求解释
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiaomm09

金虫 (小有名气)

授人以鱼,不如授人以渔,楼上的讲一讲具体怎么修改的?
追求完美!
3楼2013-09-09 00:29:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 7 个回答

锐利的碎片

木虫 (正式写手)

star watcher

【答案】应助回帖

感谢参与,应助指数 +1
CODE:
#include <stdio.h>

char *cp(char *str1, char *str2);

int main(int argc, char *argv[])
{
    char str1[50] = "I am glad to meet you!";
    char str2[50] = "Welcome to study C!";
    printf("%s\n", cp(str1, str2));
    return 0;
}

char *cp(char *str1, char *str2)
{
    char *ret = str2;
    while (char p = *str1++) {
        *str2++ = p;
    }
    *str2 = NULL;
    return ret;
}

改了下可以运行,你看下。
2楼2013-09-08 21:38:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hywC

新虫 (小有名气)

引用回帖:
2楼: Originally posted by 锐利的碎片 at 2013-09-08 21:38:05
#include <stdio.h>

char *cp(char *str1, char *str2);

int main(int argc, char *argv[])
{
    char str1 = "I am glad to meet you!";
    char str2 = "Welcome to study C!& ...

能给我讲一下我原来的那个为什么不可用吗
4楼2013-09-09 11:18:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

锐利的碎片

木虫 (正式写手)

star watcher

【答案】应助回帖

★ ★ ★ ★ ★
hywC: 金币+5, ★★★★★最佳答案 2013-09-09 23:42:12
引用回帖:
4楼: Originally posted by hywC at 2013-09-09 11:18:14
能给我讲一下我原来的那个为什么不可用吗...

你原来的有几个问题:
一是字符串定义要保证str2能够装下str1,
二是没有用
*str2 = NULL;
由于c不做越界检查,字符串是以\0结尾的,printf读到末尾没看见null就会一直读到null为止。你的写法很容易越界,要养成好习惯,不然以后写C程序内存问题会很头疼。
5楼2013-09-09 13:19:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[教师之家] 导师吐槽:我怎么摊上了这么个极品研究生! +7 苏东坡二世 2026-08-23 7/350 2026-08-27 18:14 by 瞬息宇宙
[基金申请] 青基如何破局 +6 lyz123lyz 2026-08-27 7/350 2026-08-27 17:31 by 宁静致远sy
[基金申请] 基金不中,共勉 +10 eulota 2026-08-26 10/500 2026-08-27 17:23 by lqllinqiaoli
[基金申请] 国自然面上复盘~欢迎讨论 (金币+5) +10 晴天加油 2026-08-26 11/550 2026-08-27 16:35 by msuhlx
[基金申请] 基金未中,这种答复是模板吗? +5 zhaosm1982 2026-08-27 6/300 2026-08-27 16:00 by lfy8008
[基金申请] 看板上这么多中的,有点像50人群里49个人都是骗子的那种感觉…… +5 a089 2026-08-26 6/300 2026-08-27 14:05 by jonewore
[文学芳草园] 梦想 +3 myrtle 2026-08-26 3/150 2026-08-27 10:01 by angelyueyi
[基金申请] 面上合作单位盖章 +3 ssyjh 2026-08-27 3/150 2026-08-27 09:59 by 阿拉贡aragon
[基金申请] 为什么 国际(地区)合作与交流项目 没有放榜? 10+3 majunge000 2026-08-26 11/550 2026-08-27 08:42 by 北京莱茵编辑
[基金申请] 让我中一个面上吧! +13 大萍1987 2026-08-20 17/850 2026-08-27 08:20 by 大萍1987
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 LIbGuocjEEYw 2026-08-26 4/200 2026-08-27 02:01 by Ie9AyIAvGbvs
[基金申请] 系统查不到 +10 董八千 2026-08-26 10/500 2026-08-26 16:30 by Equinoxhua
[基金申请] 范进中举一文的中心思想 +9 炎黄贵胄 2026-08-22 10/500 2026-08-26 15:40 by semaglutide
[基金申请] 2026年8月25日国自然放榜前突然收到列入评审专家邮件,有关系吗? +25 木水思豆 2026-08-25 28/1400 2026-08-26 14:53 by draco1987
[基金申请] 项目信息和经费信息在系统里都可以看到了 +6 wittyboy 2026-08-26 14/700 2026-08-26 10:55 by wittyboy
[基金申请] 国合现在查不到了吗? +10 chengyan1220 2026-08-24 20/1000 2026-08-26 08:57 by peasantsprig
[基金申请] 明天应该可查了!? +6 chengyan1220 2026-08-23 6/300 2026-08-25 19:45 by zfd97
[基金申请] 没有任何消息-是不是就凉了 +9 图啦图啦 2026-08-24 10/500 2026-08-25 11:59 by 南海小哥
[基金申请] 时间戳今天,20号变了 +5 archvillain 2026-08-20 5/250 2026-08-22 06:12 by hui_daxiao
[基金申请] 基金啊基金 +4 longfie172 2026-08-20 4/200 2026-08-21 08:58 by mark mao
信息提示
请填处理意见