e.g:把一个长度15的整型数组 a ,分解成一个3*5的二维数组 b
要求:
1.定义一个函数,参数为指针
2.必须用3*5
二维数组 b 接收数组 a 中的所有元素
3.按行输出二维数组 b 即每 5 个元素输出完毕后,必须换行
代码如下:
#include <stdio.h>
void ToArr(int (*qArr)[5])//定义一个二维数组指针 长度 5
{
int i,j;
for(i=0;i<3;++i)
{
for(j=0;j<5;++j)
{
printf("%d ",qArr[i][j]);//输出b数组的值
}
printf("\n"); //输出空格控制符
}
return;
}
int main(void)
{
int b[3][5];//定义一个二维数组
int a[15] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};//定义一个一维数组 并初始化
int i,j;//定义2个整型变量
// int qArr[3][5];
for(i=0;i<3;++i)
{
for(j=0;j<5;++j)
b[i][j] = a[i*5+j];
} //把一维数组a 赋值给二维数组b
ToArr(b);//调用函数ToArr
return 0;
}
/*
2017/12/28 16点07分
C-Free5.0 输出结果
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
*/
转载于:https://blog.51cto.com/12431776/2055542