关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率

已结题
C语言这strcpy(p2,p1+1)不是让p2=alloc/0/0了吗
收起
- 写回答
- 好问题 0 提建议
- 关注问题
微信扫一扫
点击复制链接分享
- 邀请回答
- 编辑 收藏 删除
- 收藏 举报
1条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
酷酷滴Q 2022-09-12 08:09关注首先,前的的定义开辟空间没问题吧,到了strcpy(p1,"malloc")会把这个字符串赋值给指针p1,接着,strcpy(p2,p1+1),是关键,它是先执行p1+1,此时已经运算了,p1=a;(已经变了),然后在赋值给p2=a,p1[0] p2[0]所以输出的是aa
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报微信扫一扫
点击复制链接分享
编辑预览轻敲空格完成输入- 显示为
- 卡片
- 标题
- 链接
评论按下Enter换行,Ctrl+Enter发表内容
编辑
预览

轻敲空格完成输入
- 显示为
- 卡片
- 标题
- 链接
报告相同问题?
提交
- 2021-05-21 00:57回答 5 已采纳 p1和p2的地址从一开始就是一样的啊,你有什么问题呢?strcpy只是修改地址存储的内容而已啊
- 2021-11-15 09:20回答 2 已采纳 主要是最后一个字符串由于最后没有空格分隔,所以加入到c数组后没有'\0'结尾符,导致复制时,这个字符串长度太长(需要找到第一个'\0‘为止),超出了b的大小另外你所有拆分字符串都放到b数组,且都从头开
- 2023-02-12 23:41回答 6 已采纳 因为p要改变指针,最后p指向\0了,你return p能行吗除非这函数不要返回值了,那你就随便改str1
- 2023-01-02 15:53拉依达的嵌入式小屋的博客 plain new在空间分配失败的情况下,抛出异常std::bad_alloc而不是返回NULL #include #include using namespace std; int main() { try { char *p = new char[10e11]; delete p; } catch (const std::bad_...
- 2023-02-07 17:15回答 2 已采纳 我想你的具体代码应该是下面这个 int n; char ch[20]=" 123456"; strcpy(ch+4, "123456"); n = strlen(ch); ch+4字符串+数字到底是
- 2021-12-18 12:02回答 1 已采纳 你意思是用char *p是编译报错吗?贴一下错误提示信息代码测试没有问题啊
- 2023-03-08 02:35回答 4 已采纳 strcpy(s2, s3); 之后,s2字符串和s3字符串一样,也就是前四个字符是Abc及'\0',然后s2中后面保留了空格和'\0'。所以输出是A#b#c#sizeof(s2)的大小,由s2数组长
- 2021-05-22 00:52weixin_39787089的博客 这里提供参考答案第4节 字符串、函数的递归、标识符的作用域和存储类1-10:ACCAA DBACC11-20:DBADD ADCAA21-30:BBBCA DCAAA31-40:ACDBB BADAA41-50:DADAC ABCBC51-60:ACBAA ADACA61-70:DCAAC...
- 2022-05-12 09:50回答 1 已采纳 strcpy函数复制的时候是寻找到字符串的'\0'则结束,你描述的字符串应该是不包含的'\0'(可能被后面的覆盖了)。C语言中,字符串是以'\0'结束的,一般情况下,推荐使用strncpy。 详细的用
- 2022-01-20 08:53回答 3 已采纳 没有写d=s呀,这不是d[i]=s[i]吗,直接一个字符一个字符赋值的
- 2023-02-15 07:49回答 4 已采纳 strncpy : 参考:https://blog.csdn.net/LIUTAOZHU1013/article/details/89110024
- 2020-06-11 11:18屋外下着猫和狗的博客 C语言编程规范一、代码总体原则二、头文件背景三、函数四、标识符命名与定义五、变量六、宏、常量七、质量保证八、程序效率九、注释十、排版与格式十一、表达式十二、代码编辑、编译十三、可测性十四、安全性十五、...
- 2021-05-22 02:45Guo Xun的博客 1:new和malloc的区别 转载地址:http://www.cnblogs.com/fly1988happy/archive/2012/04/26/2470542.html1. malloc()函数1.1 malloc的全称是memory allocation,中文叫动态内存分配。原型:extern void *malloc...
- 2021-04-29 06:17编程与实战的博客 1 变量的声明和定义有什么区别 变量的定义为变量分配地址和存储空间, 变量的声明不分配地址。...//这是个声明而不是定义,声明A是一个已经定义了的外部变量 //注意:声明外部变量时可以把变量类型去...
- 2023-01-22 10:43Changerone的博客 帮助学会C语言的同学快速过渡到C++
- 2022-07-25 04:07Perz_01的博客 1 C/C++语言基础 1.1 语言基础 1.1.1 简述下C++语言的特点 参考回答 C++在C语言基础上引入了面对对象的机制,同时也兼容C语言。 C++有三大特性(1)封装。(2)继承。(3)多态; C++语言编写出的程序结构清晰、易于...
- 2017-12-22 08:15Alen.Wang的博客 1 预处理 问题1:什么是预编译?何时需要预编译? 答: 预编译又称预处理,是整个编译过程最先做的工作,即程序执行前的一些预处理工作。主要处理#开头的指令。如拷贝#include包含的文件代码、替换#define...
- 2023-07-16 08:26五月525的博客 例子2 #pragma pack(1) //让编译器对这个结构作1字节对齐 struct test { char x1; short x2; float x3; char x4; }; #pragma pack() //取消1字节对齐,恢复为默认4字节对齐 这时候sizeof(struct test)的值...
- 没有解决我的问题, 去提问
问题事件
联系我们(工作时间:8:30-22:00)
400-660-0108kefu@csdn.net在线客服
- 京ICP备19004658号
- 经营性网站备案信息
公安备案号11010502030143
- 营业执照
- 北京互联网违法和不良信息举报中心
- 家长监护
- 中国互联网举报中心
- 网络110报警服务
- Chrome商店下载
- 账号管理规范
- 版权与免责声明
- 版权申诉
- 出版物许可证
- ©1999-2025北京创新乐知网络技术有限公司