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语言调用带数组的函数为什么要这么写?
首先int max(int a[])这个函数参数的意思是接受一个数组的首地址,也就是说调用的时候必须是地址,也可以说是指针;
如果调用写成max(a[10]),这里面a[10]为第十一个元素的值当然不行了,除非你就是把地址放在里面了,强制有的编译器应该可以通过但是会有警告。
其实理解了的话max(a)和max(a[0])都是可以的,都表示把数组a的首地址传过去。
可以多去了解一下指针,多上机操作,多练练就会理解的越深。
c语言怎么调用数组
c语言可以用数组元素的方法或指针的方法调用数组。
int a[100],i;
for(i=0;i100;i++)
scanf("%d",a[i]);
for(i=0;i100;i++)
printf("%d ",a[i]);
也可以:
int a[100],*p;
for(p=a;pa+100;p++)
scanf("%d",p);
for(p=a;pa+100;p++)
printf("%d ",*p);
网站标题:c语言调用函数时数组写法 c语言如何调用数组函数
链接URL:http://lswzjz.com/article/dojojjo.html