zmm5211314 2021-05-21 00:57 采纳率: 87.5%
浏览 83
已采纳

C语言中strcpy

# include # include # include int main (void) { char *p1,*p2; p1=p2=( char *) malloc ( sizeof ( char )*10); strcpy(p1,"malloc "); strcpy (p2,p1+1); printf ("%c\n%c\n ",p1[0],p2[0]); } 为什么p1+1 p1地址和p2一样了

  • 写回答

5条回答 默认 最新

  • CSDN专家-link 2021-05-21 00:59
    关注

    p1和p2的地址从一开始就是一样的啊,你有什么问题呢?strcpy只是修改地址存储的内容而已啊

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    CSDN专家-link 2021-05-21 01:07

    如无疑问,请采纳,谢谢

    回复
    zmm5211314 2021-05-21 01:08

    但是如果我改成 p2=p1+1就不一样了啊

    回复
    CSDN专家-link 回复 zmm5211314 2021-05-21 01:09

    那当然了,p2=p1+1不就改变了p2的地址了么。你提供代码中,p2和p1地址没有进行修改啊

    回复
    展开全部5条评论
查看更多回答(4条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部