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 实现 KNN(K-近邻)算法
    Python 增加博客园阅读量
    阿里云CentOS安装配置Python3.7及pip3
    OnlineJudge难度与正确度的相关性检验
    jsp、jQuery、servlet交互实现登录功能
    Java Web中提交表单之后跳转到WebContent目录下的子目录里的jsp文件
    python3爬虫——下载unsplash美图到本地
    defer原理、性能、优化
    Python生成器和迭代器
  • 原文地址:https://www.cnblogs.com/guangliang/p/4266614.html
Copyright © 2011-2022 走看看