int* twoSum(int* nums, int numsSize, int target, int* returnSize) {
for (int i = 0; i < numsSize; ++i) {
for (int j = i + 1; j < numsSize; ++j) {
if (nums[i] + nums[j] == target) {
int* ret = malloc(sizeof(int) * 2);
ret[0] = i, ret[1] = j;
*returnSize = 2;
return ret;
}
}
}
*returnSize = 0;
return NULL;
}
为什么这两个一个要等与2 一个要等于0
因为for循环里表示找到两个数之和为target,所以返回这两个数,因此是2。而13行表示for循环中没有找到合适的数,所以并没有可返回的数对,因此返回数量为0