问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

(面试题的四种答案)重写strcpy库函数..看不懂

发布网友 发布时间:2022-05-15 06:41

我来回答

4个回答

热心网友 时间:2023-10-12 04:08

应该是第一种到第四种越来越健壮
第一种仅仅可以实现字符串的拷贝
第二种考虑了被拷贝字符串是不可以被改变的这种情况
第三种在考虑被拷贝字符串不可以改变的基础上又考虑了 被拷贝字符串和
目标字符串必须要已经分配了存储空间(否则报错)
第四种第三种情况的基础上 加上了 一个返回值 这种我不太明白 我想可
能是 考虑 这个目标字符串可以做左值的情况

热心网友 时间:2023-10-12 04:09

1 基本思想 指针后移 依次复制 直到源字符串结束

2 源指针加上const 保证源字符串内容不会发生改变 增加可靠性

3 加入空串的判断 如果没有assert 即使空串也要执行一次指针的自加 如果没有注意到 strcpy函数之外 指针的安全性就不是我们能把握的了

4 前3个基础上 保存了目的指针 因为复制过程中 两指针都后移

热心网友 时间:2023-10-12 04:09

小弟说说第四种,源地址理应不变,所以加上const, 进入程序后先用assert判断两个指针的合法性,即是否为空, 多申请一个address是保持strDest的地址不变,还有将它返回是为了下一步操作着想, 这样你可以在调用strcpy后不需要拿出strDest来就可以连续进行操作,如:strcpy(s1, strcpy(s2, s3));

热心网友 时间:2023-10-12 04:10

同意一楼和三楼的说法!
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
粒上皇开口熟栗120g*5袋(共600g)-详细介绍 三皇王板栗介绍 品牌榜:2024年板栗十大品牌排行榜 投票结果公布【新】 为什么来大姨妈胸会胀 少儿学什么舞蹈 青年学什么舞蹈好 成年人学什么舞蹈 福州企业最低工资标准 2013年厦门的底薪是多少 生产要素的需求有哪些性质 懂车帝怎么换绑手机号码? 如何解除手机绑定 怎么解除绑定和手机号 如何解除与手机号的绑定 手机号码绑定了一个不用的,怎么解除? 如何查询电子芯片参数 电子元器件参数查询? 在爱奇艺PPS上有什么?像僵尸题材的那样子的恐怖电影,推荐 肾脏病能吃高梁米吗 小炒芥蓝丁怎么做 高粱米和芹菜一起熬粥能治尿酸高吗 痛风可以吃高粱米吗 血糖和尿酸高是否能吃高粱米 尿酸偏高能不能吃高梁米粥 城市经理 英文怎么写 建筑行业CM模式是什么意思 我的世界多世界插件如何创建超平坦世界? 我的世界多世界插件怎么用 - 信息提示 我的世界mv多世界怎么设置某个世界单独建造权限 C语言,重写strcpy和strcmp 编写一个实现strcpy函数功能的函数,并试用主函数调用 strcpy重写,为什么打印出来的是 adf 而不是123 ??? 代码如下 模仿strcpy()函数来实现自己的字符串拷贝函数 C语言编程:用自定义函数实现字符串处理函数strcat、 strcpy、strcmp、strlen和 编写函数strcpy,实现把字符串s1复制到s2. 为什么冬天房间里老鼠特别多夏天非常少啊? 阿迪锅冻肉直接做可以吗? 广东话“怎么改”是什么意思? 沙眼会造成怎样的后果? 沙眼有什么影响? 沙眼有甚么危害 沙眼的危害有那些? 得沙眼有什么后果? 沙眼是不是就是感觉眼里有粒沙子一样?沙眼不知会有什么后果啊? 沙眼对人有什么坏处?拜托各位大神 沙眼会影响什么吗? 什么是沙眼?有沙眼会怎么样?这个病严不严重??有没有啥好的解决方法 贴吧名字咋么改? 绚丽、时尚、超薄的键盘?