#include
<
stdio.h
>
#define ROWS 3 #define COLS 4 void sum_rows( int arr[][COLS], int rows); void sum_cols( int [][COLS], int ); // 可以省略名称 int sum2d( int ( * arr)[COLS], int rows); // 另一种语法形式 int main( void ) { int junk[ROWS][COLS] = {{ 1 , 2 , 3 , 4 },{ 5 , 6 , 7 , 8 },{ 9 , 10 , 11 , 12 }}; sum_rows(junk,ROWS); // 求出每行的数值总和。 printf( ' /n ' ); // 求出每列的数值总和。 sum_cols(junk,ROWS); // 求出全部数值的总和。 printf( ' /nthe sum of the junk is %d ' ,sum2d(junk,ROWS)); getchar(); return 0 ; } void sum_rows( int arr[][COLS], int rows) { int r,c,tot; for (r = 0 ;r < rows;r ++ ) { tot = 0 ; for (c = 0 ;c < COLS;c ++ ) { tot += arr[r][c]; } printf( ' row%d,sum=%d/n ' ,r,tot); } } void sum_cols( int arr[][COLS], int rows) { int r,c,tot; for (c = 0 ;c < COLS;c ++ ) { tot = 0 ; for (r = 0 ;r < rows;r ++ ) { tot += arr[r][c]; } printf( ' col%d,sum=%d/n ' ,c,tot); } } int sum2d( int ( * arr)[COLS], int rows) { int r,c,tot = 0 ; for (r = 0 ;r < rows;r ++ ) { for (c = 0 ;c < COLS;c ++ ) { tot += arr[r][c]; } } return tot; } |
阅读下面代码,程序列举了3种二维数组作为参数传递的方法:[转载]
最新推荐文章于 2022-02-25 19:38:17 发布