借此题复习一下二维数组作为函数参数的情况。
因为二维数组名是指向它第一个元素的指针,而二维数组的元素为一维数组,所以二维数组名就是一个数组指针。故若要将二维数组名作为参数传入调用函数时,形参应该写为一个数组指针的形式。
例如:
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 人评分
Hello, world! (C语言代码)浏览:916 |
C语言程序设计教程(第三版)课后习题6.7 (C++代码)(经常这样写会不会被打死)浏览:2506 |
第一浏览:867 |
倒杨辉三角形 (C语言代码)浏览:3892 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:528 |
C二级辅导-同因查找 (C语言代码)浏览:553 |
C二级辅导-统计字符 (C语言代码)浏览:729 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:593 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:1052 |
【偶数求和】 (C++代码)浏览:702 |