C语言数组作为传入参数

上例子

常见的三种数组作为传入参数

#include<stdio.h>

float average1(float a[5])
{
    int i;
    float sum=0;
    for(i=0;i<5;i++)
    {
        sum+=a[i];
    }
    printf("1:%d %f\n",sizeof(a),sum);
}

float average2(float a[])
{
    int i;
    float sum=0;
    for(i=0;i<5;i++)
    {
        sum+=a[i];
    }
    printf("2:%d %f\n",sizeof(a),sum);
}

float average3(float* a)
{
    int i;
    float sum=0;
    for(i=0;i<5;i++)
    {
        sum+=a[i];
    }
    printf("3:%d %f\n",sizeof(a),sum);
}

int main(void)
{
    float s[5] ={1.0,2.0,3.0,4.0,5.0};
    average1(s);
    average2(s);
    average3(s);
    return 0;
}
/*
1:4 15.000000
2:4 15.000000
3:4 15.000000

sizeof(a)都是4;传入参数都视为指针
*/

 

posted @ 2013-07-05 23:32  z折腾  阅读(1407)  评论(0编辑  收藏  举报