如何用指向二维数组的指针变量做形参
题目是编写一个程序,将4×4矩阵进行转置。(要求在子函数中对数组进行转置,并使用数组指针作为函数参数)。代码如下:#include"stdio.h"intf(int(*p...
题目是
编写一个程序,将4×4矩阵进行转置。(要求在子函数中对数组进行转置,并使用数组指针作为函数参数)。
代码如下:
#include "stdio.h"
int f(int (*p)[4]);
void main()
{
int a[4][4];
int (*p)[4],i,j;
p=a;
printf("请输入四阶矩阵的数据\n");
for(i=0;i<4;i++)
for(j=0;j<4;j++)
scanf("%d",(*(p+i)+j));
f(p);
p=a;
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
printf("%4d",*(*(p+i)+j));
printf("\n");
}
}
int f(int (*p)[4])
{
int *pt;
int i,j;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{
*(*(p+i)+j)=*pt;
*(*(p+i)+j)=*(*(p+j)+i);
*(*(p+j)+i)=*pt;
}
return 0;
} 展开
编写一个程序,将4×4矩阵进行转置。(要求在子函数中对数组进行转置,并使用数组指针作为函数参数)。
代码如下:
#include "stdio.h"
int f(int (*p)[4]);
void main()
{
int a[4][4];
int (*p)[4],i,j;
p=a;
printf("请输入四阶矩阵的数据\n");
for(i=0;i<4;i++)
for(j=0;j<4;j++)
scanf("%d",(*(p+i)+j));
f(p);
p=a;
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
printf("%4d",*(*(p+i)+j));
printf("\n");
}
}
int f(int (*p)[4])
{
int *pt;
int i,j;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{
*(*(p+i)+j)=*pt;
*(*(p+i)+j)=*(*(p+j)+i);
*(*(p+j)+i)=*pt;
}
return 0;
} 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询