首页后端开发其他后端知识c语言数组做参数函数 c语言 数组做参数

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

时间2023-04-11 17:52:01发布访客分类其他后端知识浏览609
导读:c语言中数组名作为函数参数 要将数组长度作为一个参数传给average函数,不能在average函数内部通过int arrLen = sizeof(a / 4;来计算数组长度。因为float average(float a[10] 就相当...

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

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

应该这样:

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、运行程序,输出结果,如图所示:

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: c语言数组做参数函数 c语言 数组做参数
本文地址: https://pptw.com/jishu/2621.html
c语言函数定义历史 c语言函数的定义 c语言函数返回结构体 C语言函数返回结构体指针

游客 回复需填写必要信息