类型 | 提示 |
---|---|
错误一 | 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时,“执行出错”
所以赋值的大小要不大不小刚刚好,至于此处为什么是2,就很明显了吧~ 【此题为1.两数之和】
写在最后
确是花费了好多时间,走了很多弯路。希望新手不要走我走过的弯路(一些CSDN上的文章确实让我花了好多的心思去研究,结果发现,嗯,不行)。
既然解决了returnSize
的问题,不如把我们马上会遇到的returnColumnSize
也一并解决了吧。点击传送门,看博主如何用一套骚话解释Leetcode中的returnColumnsizes
为何物?