关键知识点:
- 本题定义了一个静态局部变量数组(static)用来存储下标值,即使函数返回时,该局部变量数组的值也会保持不变。
- 静态局部变量在函数内部定义的,变量仅能够初始化一次,即使再次调用时,该变量不会再被初始化,且保存的是上一次函数调用保存的结果。
int* twoSum(int* nums, int numsSize, int target, int *returnSize){
*returnSize = 2;
static int returnValue[2] ={0};
for(int i = 0; i < numsSize; i++){
for(int j = i + 1; j < numsSize; j++){
if(nums[i] + nums[j] == target){
returnValue[0] = i;
returnValue[1] = j;
return returnValue;
}
}
}
return returnValue;
}