免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: M.I.X
打印 上一主题 下一主题

[函数] 曾面试时被问:strcpy函数为什么要返回指针? [复制链接]

论坛徽章:
0
1 [报告]
发表于 2007-08-05 19:43 |显示全部楼层
原帖由 思一克 于 2007-8-5 18:30 发表
func2 效率低于func1.

所以返回是应该的.
既然要返回,那么一定返回dest, 因为dest是结果. 不可能返回src.

何以见得 fun2 效率低于 fun1 呢?

[ 本帖最后由 antigloss 于 2007-8-5 19:44 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-08-05 21:36 |显示全部楼层
那么,strcpy 没有返回值(void strcpy)和有返回值(char *strcpy)的效率差异呢?你计算了吗?

last_str = strcat(strcpy(buf, "1283983983983"), strcat(strcpy(buf1, "aasdfiiioioaoisfioasfio"), "AAAASFDKKBKBKK"));

这种写法的可读性太差了点吧

[ 本帖最后由 antigloss 于 2007-8-5 21:37 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2007-08-05 21:44 |显示全部楼层
原帖由 思一克 于 2007-8-5 21:39 发表
如果void strcpy(),那么上面的表达方式就要分开写. 差别就更多了.

你可以自己实验,用一个整体的和分开的,看差多少语句



我的意思是,如果 strcpy 返回 char *,那么要比 void 多些语句吧,那么有返回值的 strcpy 效率要低于没有返回值的 strcpy 了吧?这又该怎么算呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP