刘加加在成长(C++语言学习中)

学习、工作、生活,这是三个问题。

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  38 随笔 :: 0 文章 :: 24 评论 :: 0 Trackbacks
阅读下面代码,程序列举了3种二维数组作为参数传递的方法:
#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;
}
posted on 2008-05-19 23:03 刘加加 阅读(452) 评论(0)  编辑 收藏 引用 所属分类: 学习C语言

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理