你這個問題很典型,對一個數(shù)組中的所有元素進行操作是很典型的一段代碼
成都創(chuàng)新互聯(lián)公司專注于西烏珠穆沁企業(yè)網(wǎng)站建設,自適應網(wǎng)站建設,商城網(wǎng)站開發(fā)。西烏珠穆沁網(wǎng)站建設公司,為西烏珠穆沁等地區(qū)提供建站服務。全流程按需定制網(wǎng)站,專業(yè)設計,全程項目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務
C語言中,數(shù)組包含類型和長度兩個要素,根據(jù)數(shù)組名可以推斷出長度,但是C語言有一個特殊之處:當你把數(shù)組傳遞給參數(shù)的時候,就會隱式轉化為指針,從而失去長度的信息,所以一般情況下,處理數(shù)組的函數(shù)都要傳入數(shù)組本身以及一個長度,代碼如下:
#include
stdio.h
#include
math.h
#define
SIZE
10
double
sum(double
a[],
int
size)
{
int
i;
double
result
=
0;
for
(i
=
0;
i
size;
i++)
{
result
+=
log(a[i]);
}
return
result;
}
int
main()
{
double
a[SIZE];
int
i;
for
(i
=
0;
i
SIZE;
i++)
{
scanf("%lf",
a[i]);
}
double
s
=
sum(a,
SIZE);
printf("%lf",
s);
return
0;
}
調用時:
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),在調用函數(shù)的時候語法是sum=fun1(int a[N],int i);錯誤在于調用函數(shù)時()內的參數(shù)應該和定義時一樣
要引用數(shù)組宏的每個元素做些計算,可以將數(shù)組及數(shù)組的長度作為參數(shù)同時傳遞給調用函數(shù)就可以實現(xiàn)了,比如:
#includestdio.h
int sum(int a[], int size)
{
int i, result = 0;
for (i = 0; i size; i++) {
result += a[i];
}
return result;
}
main() {
int a[8];
int s,i;
for (i = 0; i 8; i++) {
scanf("%d", a[i]);
}
s = sum(a, 8);
printf("%d", s);
}
新聞名稱:c語言構建函數(shù)用引用數(shù)組 c語言函數(shù)引用數(shù)組做參數(shù)
標題鏈接:http://jinyejixie.com/article36/dosscsg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、微信公眾號、網(wǎng)站收錄、營銷型網(wǎng)站建設、企業(yè)建站、面包屑導航
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)