请教一下,大神们>o<,帮忙解答一下(这是完整代码) 就是
c4droid吧
全部回复
仅看楼主
level 6
宫云澈 楼主
#include <stdio.h>
int max(int (*a)[3],int n);
void main()
{
int a[4][3]={
{0,1,2},
{33,4,5},
{69,7,8},
{9,10,11}
};
printf("MAX is %d\n",max(a,3));
return 0;
}
int max(int (*a)[3],int n)
{
int i,j,max,t=0;
max=a[0][0];
for (i=0;i<4;i++)
{
for(j=0;j<n;j++)
{
printf("%-4d",a[i][j]);
t++;
if (t>2)
{
t=0;
printf("\n");
}
if(a[i][j]>max)
max=a[i][j];
}
}
return (max);
}
2017年12月20日 13点12分 1
level 6
宫云澈 楼主
啊,题目太长了
①int max(int (*a)[3],int n);中
[ ]的位置是写第二维数组的长度,对吗?
②在引用时,只要是数组首地址的写法都可以吗?在这个代码中,比如:a或者a[0]都可以,对吗?
2017年12月20日 13点12分 4
①基本是的。 ②a作为参数只可能是指针传递,a[0]做参数是整型,虽然以引用实际传递的是指针,但操作方法只能是整型,不能跳的下一个整型数据。a只和&a[0]等价。
2017年12月20日 14点12分
@飞舞云尖 可是为什么这个代码中函数引用时,用a(=&a[0]),a[0]都是可以的?
2017年12月21日 09点12分
@宫云澈 你这个代码哪有引用?
2017年12月21日 09点12分
@飞舞云尖 自定义的函数int max(int (*a)[3],int n),在主函数printf("MAX is %d\n",max(a,3))引用的呀
2017年12月21日 11点12分
1