下面程序的功能是用指针变量作函数参数编程计算任意m×...
下面程序的功能是用指针变量作函数参数编程计算任意m×n阶矩阵的转置矩阵。要求用指向一维数组的指针变量即二维数组的行指针作函数参数。程序的运行结果如下: Please enter matrix: 1 2 3 4↙ 1 2 3 4↙ 1 2 3 4↙ The transposed matrix is: 1 1 1 2 2 2 3 3 3 4 4 4 按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。 #include <stdio.h> #define ROW 3 #define COL 4 void Transpose(int (*a)[COL], int (*at)[ROW], int row, int col); void InputMatrix(int (*s)[COL], int row, int col); void PrintMatrix(int (*s)[ROW], int row, int col); int main(void) { int s[ROW][COL];//s代表原矩阵 int st[COL][ROW];//st代表转置后的矩阵 printf("Please enter matrix:\n"); InputMatrix(s, ROW, COL);//输入原矩阵,s指向矩阵s的第0行,是行指针 Transpose(s, st, ROW, COL);//对矩阵s进行转置,结果存放于st中 printf("The transposed matrix is:\n"); PrintMatrix(st, COL, ROW); //输出转置矩阵,*st指向st的第0行,是行指针 return 0; } //函数功能: 对任意row行col列的矩阵a转置,转置后的矩阵为at void Transpose(____________,int (*at)[ROW], int row, int col) { int i, j; for (i=0; i <row; i++) { for (j="0;" j++) _____________________; } void inputmatrix(___________, int row, col) 输入矩阵元素 i, j; (i="0;" scanf("%d", ___________); 元素s[i][j] printmatrix(int ___________, 输出矩阵元素 printf("%d\t", *(*(s+i)+j)); printf(" \n");> A、第20行: int (*a)[COL] 第27行: *(*(at+j)+i) = *(*(a+i)+j) 第32行: int(*s)[COL] 第39行: *(s+i)+j 第44行: (*s)[ROW]
B、第20行: int *a[COL] 第27行: *(*(at+j)+i) = (*(a+i)+j) 第32行: int(*s)[ROW] 第39行: *(s+i)+j 第44行: *s[COL]
C、第20行: int (*a)[ROW] 第27行: *(at+j+i) = *(*(a+i)+j) 第32行: int(*s)[COL] 第39行: *(s+i+j) 第44行: (*s)[ROW]
D、第20行: int (*a)[COL] 第27行: *(*(at+j)+i) = *(*(a+i+j)) 第32行: int(*s)[ROW] 第39行: *(s)+i+j 第44行: (*s)[COL]