zoukankan      html  css  js  c++  java
  • 二维数组与函数

    /*----------------计算各行、各列及所有元素的值--------------*/

    #include<stdio.h>
    #define ROWS 3
    #define COLS 4
    void sum_rows(int ar[][COLS],int rows);
    void sum_cols(int [][COLS],int);
    int sum2d(int (*ar)[COLS],int rows);
    int main()
    {
        int junk[ROWS][COLS]={
                {2,4,6,8},
                {3,5,7,9},
                {12,10,8,6}
        };
        sum_rows(junk,ROWS);
        sum_cols(junk,ROWS);
        printf(" Sum of all the elements = %d ",sum2d(junk,ROWS));
        return 0;
    }
    void sum_rows(int ar[][COLS],int rows)
    {
        int r;
        int c;
        int tot;
       
        for(r=0; r<rows; r++)
        {
            tot=0;
            for(c=0; c<COLS; c++)
                tot += ar[r][c];
            printf("row %d: sum = %d ",r,tot);
        }
    }
    void sum_cols(int ar[][COLS],int rows)
    {
        int r;
        int c;
        int tot;

        for(c=0; c<COLS; c++)
        {
            tot=0;
            for(r=0; r<rows; r++)
                tot += ar[r][c];
            printf("col %d: sum = %d ",c,tot);
        }
    }
    int sum2d(int ar[][COLS],int rows)
    {
        int r;
        int c;
        int tot=0;

        for(r=0; r<rows; r++)
            for(c=0; c<COLS; c++)
                tot += ar[r][c];
            return tot;

    }
    捕获

    总结:这是通过指针方式传值,int  ar[][COLS]是一个指针,表示一个由4个int值构成的数组的指针,即该指针指向一个包含4个int值的数组。还有一种方式是int (*ar)[COLS]。

    注:二维数组中传值的两种函数的参数形式为:void sum_rows(int ar[][COLS], int rows); int sum2d(int (*ar) [COLS], int rows),还有一种就是用变长数组的形式。

  • 相关阅读:
    Python之面向对象新式类和经典类
    Python之面向对象继承和派生
    Python之面向对象类和对象
    Python之面向对象的程序设计
    Python之面向对象函数式编程
    Python之内置函数
    列表解析与生成器表达式
    03: 交换机基本原理与配置
    02: 网络布线与数制转换
    01:数据封装解封的过程
  • 原文地址:https://www.cnblogs.com/guangliang/p/4266614.html
Copyright © 2011-2022 走看看