猿问

C语言中 指针做函数参数传递二维数组?

编写一个函数(参数用指针)将一个3行3列的二维数组a转置后保存到一个二维数组b, 即将任意一个元素b[row][col]赋值为a[col][row]。
转置的举例:
1 2 3 转置后变成: 1 4 7
4 5 6 2 5 8
7 8 9 3 6 9

有只小跳蛙
浏览 1536回答 1
1回答

慕田峪7331174

//#include "stdafx.h"//vc++6.0加上这一行.#include "stdio.h"void myprint(int (*p)[3]){int i,j;for(i=0;i<3;i++){for(j=0;j<3;printf("%3d",p[i][j++]));printf("\n");}}void mytranspose(int (*p)[3],int (*q)[3]){int i,j;for(i=0;i<3;i++)for(j=0;j<3;q[j][i]=p[i][j++]);}int main(void){int a[3][3]={{1,2,3},{4,5,6},{7,8,9}},b[3][3];printf("Before the transpose:\n");myprint(a);printf("After the transpose:\n");mytranspose(a,b);myprint(b);return 0;}
随时随地看视频慕课网APP
我要回答