借此题复习一下二维数组作为函数参数的情况。
因为二维数组名是指向它第一个元素的指针,而二维数组的元素为一维数组,所以二维数组名就是一个数组指针。故若要将二维数组名作为参数传入调用函数时,形参应该写为一个数组指针的形式。
例如:
int matrix[3][10]; ... func2(matrix); 这里参数matrix的类型是指向包含10个整型元素的数组的指针,可知func2的原型可能是以下两种中的一种: void func2(int (*mat)[10]); //ok! void func2(int mat[][10]); //ok!
参考代码如下:
#include <stdio.h> //转置函数 void transpose(int (*array)[3]) { int tmp[3][3]; //定义一个临时数组存放转置矩阵 int i, j; for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) { tmp[i][j] = array[j][i]; } } //修改原数组 for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) { array[i][j] = tmp[i][j]; } } } int main() { int array[3][3]; int i, j; for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) { scanf("%d", &array[i][j]); } } transpose(array); for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) { printf("%d ", array[i][j]); } printf("\n"); } return 0; }
0.0分
3 人评分
假币问题 (C++代码)(向上取整的一种处理方式)浏览:1802 |
剔除相关数 (C语言代码)浏览:1058 |
C语言程序设计教程(第三版)课后习题10.4 (C语言代码)浏览:702 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:781 |
C二级辅导-阶乘数列 (C语言代码)浏览:736 |
求圆的面积 (C语言代码)浏览:1756 |
1113题解浏览:823 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:750 |
数字游戏 (C++代码)浏览:1240 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:523 |