欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來到入門教程網(wǎng)!

C語言

當(dāng)前位置:主頁 > 軟件編程 > C語言 >

c++將數(shù)組名作為函數(shù)參數(shù)對(duì)數(shù)組元素進(jìn)行相應(yīng)的運(yùn)算

來源:本站原創(chuàng)|時(shí)間:2020-01-10|欄目:C語言|點(diǎn)擊: 次

用數(shù)組名做函數(shù)參數(shù)與用數(shù)組元素作實(shí)參有幾點(diǎn)不同:

(1)用數(shù)組元素作實(shí)參時(shí),只要數(shù)組類型和函數(shù)的形參變量的類型一致,那么作為下標(biāo)變量的數(shù)組元素的類型也和函數(shù)形參變量的類型是一致的。因此,并不要求函數(shù)的形參也是下標(biāo)變量。換句話說,對(duì)數(shù)組元素的處理是按普通變量對(duì)待的。用數(shù)組名作函數(shù)參數(shù)時(shí),則要求形參和相應(yīng)的實(shí)參都必須是類型相同的數(shù)組,都必須有明確的數(shù)組說明。當(dāng)形參和實(shí)參兩者類型不一致時(shí),將會(huì)發(fā)生錯(cuò)誤。

(2)用普通變量或下標(biāo)變量作函數(shù)參數(shù)時(shí),形參變量和實(shí)參變量都是由編譯系統(tǒng)分配的兩個(gè)不同的內(nèi)存單元。在函數(shù)調(diào)用時(shí)進(jìn)行的值傳遞是把實(shí)參變量的值賦予形參變量。在用數(shù)組名做函數(shù)參數(shù)時(shí),不是進(jìn)行值的傳遞,即不是把實(shí)參數(shù)組的每一個(gè)元素的值都賦予形參數(shù)組的各個(gè)元素。因?yàn)閷?shí)際上形參數(shù)組并不存在,編譯系統(tǒng)不為形參數(shù)組分配內(nèi)存。因?yàn)閿?shù)組名就是數(shù)組的首地址。因此用數(shù)組名做函數(shù)參數(shù)時(shí)所進(jìn)行的傳遞實(shí)際上是地址的傳遞,也就是把實(shí)參數(shù)組的首地址賦予形參數(shù)組名。形參數(shù)組名取得該首地址后,也就等于有了具體的地址。實(shí)際上是形參數(shù)組和實(shí)參數(shù)組為同一數(shù)組,共同使用一段內(nèi)存空間。

復(fù)制代碼 代碼如下:

//例:一維數(shù)組score,存放10個(gè)學(xué)生的成績(jī),求平均值。

#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<stdlib.h>
float average(float array[10])
{   int i;
    float aver,sum=array[0];
    for(i=1; i<10; i++)
        sum=sum+array[i];
    aver=sum/10;
    return aver;
}
void main()
{   float score[10],aver;
    int i;
    printf("input 10 score:\n");
    for(i=0; i<10; i++)
        scanf("%f",&score[i]);
    printf("\n");
    aver=average(score);
    printf("average score is %5.2f\n",aver);
}

說明:

(1)用數(shù)組名作函數(shù)參數(shù),應(yīng)該在主調(diào)函數(shù)和被調(diào)函數(shù)中分別定義數(shù)組。
(2)實(shí)參數(shù)組與形參數(shù)組類型應(yīng)一致,如不一致,結(jié)果將出錯(cuò)。
(3)實(shí)際上,指定被調(diào)函數(shù)中形參數(shù)組的大小是不起任何作用的,因?yàn)镃編譯器對(duì)形參數(shù)組大小不做檢查,只是將形參數(shù)組的首地址傳給形參數(shù)組。
(4)形參數(shù)組也可以不指定大小,定義數(shù)組時(shí)在數(shù)組名后跟一個(gè)空的中括號(hào),為了在被調(diào)函數(shù)中處理數(shù)組元素的需要,可以另設(shè)一個(gè)參數(shù),傳遞數(shù)組元素的個(gè)數(shù)。

復(fù)制代碼 代碼如下:

#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<stdlib.h>
float average(float array[],int n)
{   int i;
    float aver,sum=array[0];
    for(i=1; i<n; i++)
        sum=sum+array[i];
    aver=sum/n;
    return aver;
}
void main()
{   float score1[5]= {98.5,97,91.5,60,55};
    float score2[10]= {67.5,89.5,99,69.5,77,89.5,76.5,54,60,99.5};
    printf("the average of class A is %6.2f\n",average(score1,5));
    printf("the average of class B is %6.2f\n",average(score2,10));
}

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有