1.給定 nums = [2, 7, 11, 15], target = 9
因爲 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
重要一點(關於在函數中static的用法)
第一、在修飾變量的時候,static修飾的靜態局部變量只執行一次,而且延長了局部變量的生命週期,直到程序運行結束以後才釋放。
第二、static修飾全局變量的時候,這個全局變量只能在本文件中訪問,不能在其它文件中訪問,即便是extern外部聲明也不可以。
第三、static修飾一個函數,則這個函數的只能在本文件中調用,不能被其他文件調用。Static修飾的局部變量存放在全局數據區的靜態變量區。初始化的時候自動初始化爲0;
int* num(int* arr, int sz, int target)
{
static int a[2] = {0};//定義static局部變量延長生命週期,直到程序結束才被釋放
int i = 0;
int j = 0;
for(i = 0;i < sz - 1;i++)//i循環sz - 1次
{
for(j = i+1;j < sz;j++)//j始終比i多一
{
if(arr[j] == target - arr[i])
{
a[0] = i;
a[1] = j;
return a;
}
}
}
return 0;
}