24小时热门版块排行榜    

查看: 1568  |  回复: 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的回帖

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的回帖
查看全部 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的回帖

xiaomm09

金虫 (小有名气)

授人以鱼,不如授人以渔,楼上的讲一讲具体怎么修改的?
追求完美!
3楼2013-09-09 00:29:59
已阅   回复此楼   关注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的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 投票:  有多少人是今天查系统知道结果的? +15 爱看书的可乐 2026-08-26 17/850 2026-08-28 01:23 by xxniao123
[基金申请] 为什么资助数各大高校都创新高,自己申请怎么就这么难 +9 Kittylucky 2026-08-27 9/450 2026-08-28 01:08 by jurkat.1640
[基金申请] 面上合作单位盖章 +5 ssyjh 2026-08-27 5/250 2026-08-27 20:50 by gdfollow
[基金申请] 申请删除本帖 +6 lyz123lyz 2026-08-27 7/350 2026-08-27 17:31 by 宁静致远sy
[基金申请] 基金未中,这种答复是模板吗? +5 zhaosm1982 2026-08-27 6/300 2026-08-27 16:00 by lfy8008
[教师之家] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 LIbGuocjEEYw 2026-08-26 4/200 2026-08-27 04:33 by Ie9AyIAvGbvs
[基金申请] 2026年的国家社科基金项目通讯评审的新规则与新动向、新挑战 +7 process2012 2026-08-23 10/500 2026-08-26 19:23 by hmhminy
[基金申请] 系统查不到 +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国自然函评费到账 +22 羊腰板 2026-08-21 25/1250 2026-08-26 15:00 by zuocuiping
[基金申请] 2026年8月25日国自然放榜前突然收到列入评审专家邮件,有关系吗? +25 木水思豆 2026-08-25 28/1400 2026-08-26 14:53 by draco1987
[基金申请] 能否退出参与的面上项目解除限项 +23 koalala 2026-08-24 26/1300 2026-08-26 14:29 by 宝贝虫子
[基金申请] 国际合作可查了,中了面上 (EPI+1)(金币+50) +18 Ldrop2023 2026-08-26 18/900 2026-08-26 11:15 by cmrandy
[基金申请] 系统进不去 +4 yanglien 2026-08-26 5/250 2026-08-26 11:10 by wenfengw83
[基金申请] 今天务委会开完了,明天出结果吗 +19 angus9576 2026-08-25 23/1150 2026-08-26 10:03 by zp519
[基金申请] 某些机构,以效率低为荣,以效率低作为存在感 +9 yuleib84 2026-08-25 10/500 2026-08-25 17:14 by alexon
[基金申请] 如果此刻你正在为国基感到焦虑,不妨来听听这首《基金之外》 +8 scalable 2026-08-24 8/400 2026-08-25 12:52 by jnhyjjm
[教师之家] 跳槽后在研项目怎么办? +5 简单化xn 2026-08-22 10/500 2026-08-23 12:38 by 简单化xn
[基金申请] 看来今天不会放榜了? +8 chengyan1220 2026-08-21 11/550 2026-08-21 17:52 by dcqxinyang
[基金申请] 应该是下周三26日公布了吧? +4 哈哈蛤? 2026-08-21 4/200 2026-08-21 10:58 by Vivilian
信息提示
请填处理意见