函数掉进的坑--函数竟然进行了两遍

总结:在实现mystrcat函数模拟strcat功能时,由于在printf中调用了两次mystrcat(str,dst),导致字符串被重复拼接。关键认知误区在于误以为printf中的函数参数仅用于返回值,实际上每次调用都会执行函数体。因此需要注意:函数名加参数的形式(如mystrcat(str,dst))本身就是一次完整调用,调用几次就执行几次函数操作。

题目:封装mystrcat函数实现strcat功能

完整代码:

问题?实现功能了,为什么拼接了两遍。

原因:我将mystrcat函数调用了两遍。所以mystrcat函数体运行了两遍。

我模糊概念:我以为将mystrcat函数写在printf只是打印这个函数返回的值,不曾想这样就算调用了函数。

注意事项:当我们写出mystrcat(str,dst)就是运行该函数体。写一次运行一遍。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值