c语言数组做参数函数 c语言 数组做参数

c语言中数组名作为函数参数

要将数组长度作为一个参数传给average函数,不能在average函数内部通过int arrLen = sizeof(a) / 4;来计算数组长度。因为float average(float a[10])就相当于float average(float *a) ,所以sizeof(a)恒等于4,sizeof(a) / 4恒等于1。

成都创新互联公司主要从事成都网站设计、成都网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务襄阳,十年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108

应该这样:

float average(float a[10],int arrLen) {

float sumSco = 0;

for (int i = 0; i arrLen; i++)

{

sumSco += a[i];

}

return sumSco / arrLen;

}

c语言 数组作为函数参数怎样写

如果一个函数的目的是要产生一个新的数组,那么最好的做法是在调用函数前就生成好这个数组,然后把这个数组作为参数传给函数,在函数中修改这个数组的值.

像你这种做法,在sum函数结束后,sth3数组就作为局部变量被释放了.而且在main中,sum数组声明以后,sum就是一个常量了,又怎么能放在=左边呢.

另外,sum函数的算法也错了.

正确代码如下:

void Sum(int sth1[][3],int sth2[][3],int sth3[][3])

{

int i = 0;

int j =0;

do

{

sth3[i][j]=sth1[i][j]+sth2[i][j];

j++;

if(j==3)

}while(i3);

}

int main(void)

{

int matrix1[3][3]={

,

,

};

int matrix2[3][3]={

,

,

,

};

int sum[3][3];

Sum(matrix1,matrix2,sum);

Display(sum);

return 0;

}

如果还没解决你的问题,可以加我百度HI账号。

C语言数组变量作为函数参数

将数组传递给函数后,数组就会退化为指针

void fun(int x, int pp[], int *n)

void fun(int x, int *pp, int *n)

// 这两种写法是等价的

pp[j++]=j; // 这句写错了

// 要保存到pp里的是能整除的整数,而不是计数器j,如果这么写,那么pp的值肯定是{0,1,2,3,4,5,...}

// 应该改成

pp[j++] = l; // L才是被整除的整数,要保存的是这个

*n=j; // n作为一个指针,负责传出得到的数字的数量,j是计数器,当所有的计算完毕后,j的值自然是这些数字的数量

关于c语言中数组作为函数参数的函数之间调用问题

1、新建一个数组作为参数项目,如图所示:

2、添加一个array.c文件,如图所示:

3、包含stdio.h和stdlib.h头文件,如图所示:

4、输入main函数主体及返回值,如图所示:

5、定义一个数组arr,如图所示:

6、定义一个function函数,如图所示:

7、将数组作为参数传递给function函数,如图所示:

8、运行程序,输出结果,如图所示:


当前名称:c语言数组做参数函数 c语言 数组做参数
浏览路径:http://scyanting.com/article/ddiepei.html