//列和
#include <stdio.h>
#include<string.h>
void SUMlie(int(*p)[3],int line,int row)
{
int i,j,sum,sum1;
for(i=0;i<row;i++)
{
sum=0;
for(j=0;j<line;j++)
{
sum+=*(*(p+j)+i);
}
printf("%d列的和是:%d\n",i+1,sum);
}
}
int main(int argc, char *argv[])
{
int a[2][3]={1,2,3,4,5,6};
int line=sizeof(a)/sizeof(a[0]);
int row=sizeof(a[0])/sizeof(a[0][0]);
int n=sizeof(a)/sizeof(int);
SUMlie(a,line,row);
}
// 使用指针计算每行最大值,每列最小值
#include <stdio.h>
#include<string.h>
void Max(int (*p)[3],int line,int row)
{int i,j;
int max=0;
for(i=0;i<line;i++)
{ max=*(*(p+i));
for(j=0;j<row;j++)
{
if(max<*(*(p+i)+j))
{
max=*(*(p+i)+j);
}
}
printf("第%d行最大值=%d的\n",i+1,max);
}
}
void Min(int (*p)[3],int line,int row)
{int i,j;
int min=0;
for(i=0;i<row;i++)
{ min=*(*(p+i));
for(j=0;j<line;j++)
{
if(min>*(*(p+j)+i))
{
min=*(*(p+j)+i);
}
}
printf("第%d列最小值=%d的\n",i+1,min);
}
}
int main(int argc, char *argv[])
{
int a[2][3]={1,2,3,4,5,6};
int line=sizeof(a)/sizeof(a[0]);
int row=sizeof(a[0])/sizeof(a[0][0]);
Max(a,line,row);
Min(a,line,row);
return 0;
}