LeetCode中函数题中“多出来的参数“---returnsize

转载:关于returnSize

第一次在leetcode上瞎逛就遇到了就遇到了它~

int* twoSum(int* nums, int numsSize, int target, int* returnSize)

   
   
  • 1

这个代码的实现并不是什么难解的方法(用上两个循环也就解决问题了,当然也有更好的方法但是这不是这篇Blog讨论的主题),但是执行代码的时候控制台总是会告诉我代码执行错误,或者出一些奇奇怪怪的东西。

类型提示
错误一solution.c: In function 'main’Line 61: Char 20: error: too many arguments to function ‘twoSum’
错误2预期结果为"[0,1]" , 而实际输出结果为"]"

错误1:我从网上找到一些解决这题的方法,照猫画虎,结果,会出现此类错误;

我认为,此类问题的原因是将twoSum中的returnSize参数直接删除的缘故。因为在后面的main函数(我们不被要求编写的部分)中调用了twoSum函数而且在那里确有returnSize的参数这就是"too many"的原因。

错误2:

观察实际输出和预期的输出可以发现,int* returnSize 其实是输出的值的个数,故我们要对其进行赋值。
错误2的原因是因为没有对其进行赋值。
下面是赋值分别为0,1,2,3时的控制台展示:

赋值大小实际输出预期输出
0[][0,1]
1[0][0,1]
2[0,1][0,1]

而赋值为3时,“执行出错”赋值为3时的代码执行结果

所以赋值的大小要不大不小刚刚好,至于此处为什么是2,就很明显了吧~ 【此题为1.两数之和】

写在最后

确是花费了好多时间,走了很多弯路。希望新手不要走我走过的弯路(一些CSDN上的文章确实让我花了好多的心思去研究,结果发现,嗯,不行)。


既然解决了returnSize的问题,不如把我们马上会遇到returnColumnSize也一并解决了吧。点击传送门,看博主如何用一套骚话解释Leetcode中的returnColumnsizes为何物?

  • 36
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值