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),还有一种就是用变长数组的形式。

  • 相关阅读:
    匿名函数 sorted() filter() map() 递归函数
    内置函数
    生成器
    迭代器
    函数
    Linux系统及lvm知识
    nginx设置成开机自动启动服务
    cinder介绍及使用lvm本地存储
    docker私有仓库的搭建
    工作中涉及运维知识点的汇总
  • 原文地址:https://www.cnblogs.com/guangliang/p/4266614.html
Copyright © 2011-2022 走看看