图中显示的第二种方法,只能传递10行10列的数组吗?如果我想传递三行四列的数组,该怎么写
2条回答 默认 最新
- a5156520 2023-11-02 13:57关注
将print()函数里的参数中的10改为4,然后将函数里两个循环的循环条件改一下。
修改如下:
参考链接:【精选】C语言 二维数组作为函数参数的4种方式_c语言将二维数组作为函数参数-CSDN博客 文章浏览阅读2.7w次,点赞106次,收藏409次。前言多维数组中,二维数组是最常用的一种。在C语言编程中,二维数组的定义、取值以及赋值都比较容易,与一维数组类似。然而,在将二维数组作为函数参数传递时,参数结构较复杂,难以理解。本文章是实用型文章,注重代码使用,不会讲述过多理论。如果想要学习理论知识(非常推荐,可以对代码的理解更透彻),可以查阅下方参考文献列出书籍的第10章内容。话不多说,下面将给出一个C程序,以展示二维数组作为函数参数的4种方式。注:下面的代码已在VS Code(使用Mingw64)和VS 2015下编译运行过。正文下面程序的功_c语言将二维数组作为函数参数 https://blog.csdn.net/weixin_42033845/article/details/107921889#include <stdio.h> #include <iostream> using namespace std; // https://blog.csdn.net/weixin_42033845/article/details/107921889 // 如果需要传入每个元素包含4个int的数组的二维数组,将下面的10改为4 void print(int (*b)[4]) { for(int i=0;i<3;i++){ // 遍历二维数组的每一行,这里是是3行 for(int j=0;j<4;j++){ // 遍历二维数组每一行里的每一列元素,这里是4列 cout<<b[i][j]<<" "; } cout<<endl; } } int main(void){ // int a[10][10]; int a[3][4]; // 将数组定义为包含3行4列的二维int数组 for(int i=0;i<3;i++){ // 遍历3行 for(int j=0;j<4;j++){ // 遍历每一行的4列 a[i][j]=i*10+j; // 赋值 } } print(a); // 传入二维数组a,调用print()函数打印它里面存储的值 return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 Opencv(C++)异常
- ¥15 VScode上配置C语言环境
- ¥15 汇编语言没有主程序吗?
- ¥15 这个函数为什么会爆内存
- ¥15 无法装系统,grub成了顽固拦路虎
- ¥15 springboot aop 应用启动异常
- ¥15 matlab有关债券凸性久期的代码
- ¥15 lvgl v8.2定时器提前到来
- ¥15 qtcp 发送数据时偶尔会遇到发送数据失败?用的MSVC编译器(标签-qt|关键词-tcp)
- ¥15 cam_lidar_calibration报错