函數(shù)返回值類型:(void)也就是不需要返回值。
目前創(chuàng)新互聯(lián)已為成百上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計、威信網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
函數(shù)名:abd
函數(shù)參數(shù):int型數(shù)組
這里調(diào)用的時候,需要給函數(shù)abd一個參數(shù),可以是數(shù)組名,也可以是一個指向int數(shù)組的指針。
注意數(shù)組參數(shù)為數(shù)組,是傳址,也就是說如果abd函數(shù)對arr形參操作會改變外部函數(shù)實參的值。
給你看一下我的代碼
#includestdio.h
void main(){
int a[10],b[10],i,j,temp;
for(i=0;i10;i++){
printf("請輸入第%d個數(shù):",(i+1));
scanf("%d",a[i]);
//保存數(shù)組,因為輸入完數(shù)組要冒泡排序,排序后的元素順序可能和原數(shù)組不一樣
b[i]=a[i];
}
//冒泡排序,求最大值
for(i=0;i9;i++){
for(j=0;j9-i;j++){
if(a[j]a[j+1]){ //這里控制的升序還是降序,我這是降序
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
//查找最大值在原數(shù)組的位置
for(i=0;i10;i++){
if(b[i]==a[0]){ //降序的話最大值是a[0],升序的話最大值是a[9]
break; //一旦找到最大值,馬上跳出循環(huán)
}
}
printf("最大值是%d,它在原數(shù)組中是第%d個元素!\n",a[0],(i+1));
}
先獲取數(shù)組長度,然后用for循環(huán),從數(shù)組中獲取值進行累加求和。
#include
#include
int main()
{
int n;
int val;
int * a;
int sun = 0, i;
printf("請輸入數(shù)組的長度:");
scanf("%d", n);
printf("\n");
a = (int *)malloc(n * sizeof(int));//為數(shù)組a動態(tài)分配內(nèi)存
for(i = 0; i n; i++)
{
printf("請輸入數(shù)組的第%d個元素的值:", i+1);
scanf("%d", val);
printf("\n");
a[i] = val;
}
for (i = 0; i n; i++)
{
sun+=a[i];//sun+=a[i]相當(dāng)于sun=sun+a[i];
}
printf("sun = %d\n",sun);
free(a);//釋放a動態(tài)分配的內(nèi)存
return 0;
}
擴展資料:
一個數(shù)組中的所有元素具有相同的數(shù)據(jù)類型(在C、C++、Java、pascal中都這樣。但也并非所有涉及數(shù)組的地方都這樣,比如在Visual Foxpro中的數(shù)組就并沒這樣的要求)。當(dāng)然,當(dāng)數(shù)據(jù)類型為 Variant 時,各個元素能夠包含不同種類的數(shù)據(jù)(對象、字符串、數(shù)值等等)??梢月暶魅魏位緮?shù)據(jù)類型的數(shù)組,包括用戶自定義類型和對象變量。
如果要用戶輸入的是一個數(shù)組,一般是用一個循環(huán),但是在輸入前也需要固定數(shù)組的大小。
compact跟變長數(shù)組沒有太大的關(guān)系,也應(yīng)該用不到變長數(shù)組。因為一般的傳數(shù)組到函數(shù)中就是傳數(shù)組的地址和元素的個數(shù)的,那只是一個提示,不是要求。
參考資料來源:百度百科-數(shù)組
來傳送子函數(shù)中的數(shù)組有多種方法——可以通過函數(shù)返回值返回地址傳遞數(shù)組;也可以通過函數(shù)輸入?yún)?shù)來傳遞數(shù)組;還可以通過全局變量來傳遞數(shù)組。
子函數(shù)本身可以直接在作用域中進行調(diào)用。
1、通過函數(shù)返回值返回地址傳遞數(shù)組。
聲明函數(shù)時需要聲明函數(shù)返回值類型為對應(yīng)數(shù)組的地址,此時可以返回數(shù)組的地址,結(jié)合數(shù)組元素的地址關(guān)系可以傳遞整個數(shù)組,同時可以根據(jù)數(shù)組的特性傳遞多個參數(shù)。
2、通過輸入?yún)?shù)傳遞數(shù)組。
聲明函數(shù)時提供空輸入?yún)?shù),調(diào)用函數(shù)時提供目標(biāo)數(shù)組,即可以通過該數(shù)組調(diào)用子函數(shù)中的數(shù)組,該方法也可以用于傳遞多個參數(shù)。
3、通過全局變量來傳遞數(shù)組。
聲明全局變量用于存儲子函數(shù)中的數(shù)組,此時可以在全局變量作用域中讀取調(diào)用子函數(shù)的數(shù)組。
注意:子函數(shù)是C語言模塊化編程思想的核心,其方法是通過輸入接口和輸出接口實現(xiàn)對黑盒的調(diào)用,故對其內(nèi)部數(shù)據(jù)的輸入和調(diào)用也需要通過輸入接口、輸出接口和程序的公共區(qū)域?qū)崿F(xiàn)。
//考點是數(shù)組作為參數(shù)入?yún)?,第一個參數(shù)為數(shù)組指針,第二個參數(shù)為數(shù)組長度,第三個參數(shù)為被成書
void?func(int?a[],?int?size,?int?x){
for(int?i?=?0;?i??size;?i++){
a[i]?*=?x;
printf("%d?",?a[i]);
}
printf("\n");
}
int?main(){
int?a[4],?x;
scanf("%d,%d,%d,%d",?a[0],?a[1],?a[2],?a[3]);
scanf("%d",?x);
func(a,?4,?x);
return?0;
}
網(wǎng)頁標(biāo)題:c語言數(shù)組和函數(shù),c語言數(shù)組和函數(shù)的關(guān)系
瀏覽路徑:http://m.rwnh.cn/article48/phjjhp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號、做網(wǎng)站、企業(yè)建站、建站公司、手機網(wǎng)站建設(shè)、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)