C语言,二维数组做函数参数(数组行和列都是自己输入的)

RT,首先输入二维数组的行和列,然后用二维数组作为函数的形参调用函数输出二维数组
求一段实现的代码

第1个回答  推荐于2017-09-23
void printf_2Array(int * array,int row,int column )
{
int i = 0;
int j = 0;
for(i; i<row; i++)
{
for(j; j<column ; j++)
{
printf("the value at row %d and column %d is %d \r\n",i,j,array((i*column) + j));
}
}
}追问

请问array((i*column) + j)是什么意思,能给解释一下么

追答

参数array是数组形参,数组做实参的时候会退化为指针,row为数组的行数,column为数组的列数,(i*column) + j表示输出到i行时地址为每行的列数column乘以当前所在行i再加上在当前行的列数j。

追问

为什么编译不能通过,主函数调用参数传的有问题?

追答

把你的所有代码贴上来。

本回答被提问者采纳
第2个回答  2014-06-18
操作数组,一般是用指针形式去使用追问

能给一段具体的代码么

追答

请问,你是要封装一个函数用于打印入参的二维数组吗?

array((i*column) + j)是什么意思:
i控制行,j控制列,可以这样理解一行有column列,也就是一行有column个,要得到第i行第j列,排在二维数组里的位置就是i*column+j

相似回答