小新冲冲冲 2022-12-30 17:11 采纳率: 96.7%
浏览 24
已结题

关于二维数组和函数的问题

这个代码是正确的,我只想问,明明main函数里面arr二维数组的行数是3;
为什么到了第二个函数,他的全局变量的二维数组行数却是4,并且还可以运行呢?

#include <stdio.h>

void findmax(int (*pArr)[4], int *pmax, int m, int n);

int main(void)
{ 
  int arr[3][4], *pa, max[3], i;
  pa = arr[0];
  for (i=0; i<12; i++)
  {
     scanf("%d", pa++);
  }
  
findmax(arr,max,3,4)

  for (i=0; i<3; i++)
  {
     printf("line %d's max = %d\n", i, max[i]);
  }
  return 0;
}

void findmax(int (*pArr)[4], int *pmax, int m, int n)
{
   int i, j;

   for (i=0;  i<m;  i++, pmax++)
   {
       
*pmax=*(pArr[i]);

       for (j=1; j<n; j++)
       {
         if 
( *(pArr[i]+j)>*pmax)

         {
             
*pmax=*(pArr[i]+j);

         }
    }
   }
} 
 
  • 写回答

3条回答 默认 最新

  • 快乐鹦鹉 2022-12-30 17:14
    关注
    void findmax(int (*pArr)[4], int *pmax, int m, int n)
    这里的4是列数4,不是行数4啊,兄弟
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 1月7日
  • 已采纳回答 12月30日
  • 创建了问题 12月30日

悬赏问题

  • ¥15 目详情-五一模拟赛详情页
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line