方法
洛川網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站開發(fā)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。成都創(chuàng)新互聯(lián)自2013年創(chuàng)立以來到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)。
有2
將該數(shù)組定義為全局變量,即:
int
g_arr;
void
fun()
{...}
void
main()
{...}
2.將該數(shù)組作為函數(shù)參數(shù)傳遞到自定義函數(shù)里,即:
void
fun(int
arr[])
{...}
void
main()
{
int
arr[10];
fun(arr);
}
調(diào)用時(shí):
sum=fun1(a[N]);
printf("sum=%d\n",sum);
定義中:
int fun1(int a[N],int i)
{
int s=0;
for(i=0;iN;i++)
s=s+a[i];
return(s);
}
注意定義的函數(shù)int fun1(int a[N],int i),在調(diào)用函數(shù)的時(shí)候語法是sum=fun1(int a[N],int i);錯誤在于調(diào)用函數(shù)時(shí)()內(nèi)的參數(shù)應(yīng)該和定義時(shí)一樣
用指針就可以了,如
定義有int a[5];
則這樣定義函數(shù):
int fun(int *p, int size)
{
//p為數(shù)組的首地址
//size為數(shù)組的大小
//傳遞進(jìn)去后可以像操作a一樣用下標(biāo)操作p
//如p[0], p[4]...
}
傳遞參數(shù)給函數(shù)可以這樣寫:
fun(a, 5);
若是多維數(shù)組,則第一維大小不給出,只指定后面的維數(shù)大小,如:
定義有int a[5][2];
則這樣定義函數(shù):
int fun(int p[][2], int size)
{
//p為數(shù)組的首地址
//size為第一維的大小
//傳遞進(jìn)去后可以像操作a一樣用下標(biāo)操作p
//如p[0][1], p[4][1]...
}
傳遞參數(shù)給函數(shù)可以這樣寫:
fun(a, 5);
代碼幫你改好了 調(diào)用函數(shù)時(shí) 形參實(shí)參都是數(shù)組 所以只是傳遞首地址(就是shuzu)就可以了 不用返回 因?yàn)楦膭拥刂反娣诺闹? 原來數(shù)組的值也是一起改動的關(guān)于遞歸 就是在函數(shù)中反復(fù)使用這個(gè)函數(shù) #include stdio.h
void diaoyong(int b[]);
void main()
{
int a;
int shuzu[5]={53,56,69,35,53};
diaoyong(shuzu);for(a=0;a5;a++)
printf("%4d",shuzu[a]);
}
void diaoyong(int b[])
{
int a;
for(a=0;a5;a++)
b[a]+=1;
}