如何指针指向一个二维数组。。
#include<stdio.h>#include<stdlib.h>voidable(intb[][100],inta);intmain(){inta,b[100][1...
#include <stdio.h>
#include <stdlib.h>
void able(int b[][100],int a);
int main ()
{
int a,b[100][100];
scanf("%d",&a);
able(b,a);
return 0;
}
void able(int b[][100],int a)
{
int k,i,m,c[100][100],*(p)[a],*(q)[a];
for(i=0; i<a; i++)
for(m=0; m<a; m++)
scanf("%d",&b[i][m]);
p=b;
for(i=0; i<a; i++)
for(m=0; m<a; m++)
*(*(q+i)+m)=*(*(p+m)+i);
for(i=0; i<a; i++)
for(m=0,k=0; m<a; k++, m++)
{
if(k==a)
{
printf("\n");
k=0;
}
printf("%d ",c[i][m]);}
} 展开
#include <stdlib.h>
void able(int b[][100],int a);
int main ()
{
int a,b[100][100];
scanf("%d",&a);
able(b,a);
return 0;
}
void able(int b[][100],int a)
{
int k,i,m,c[100][100],*(p)[a],*(q)[a];
for(i=0; i<a; i++)
for(m=0; m<a; m++)
scanf("%d",&b[i][m]);
p=b;
for(i=0; i<a; i++)
for(m=0; m<a; m++)
*(*(q+i)+m)=*(*(p+m)+i);
for(i=0; i<a; i++)
for(m=0,k=0; m<a; k++, m++)
{
if(k==a)
{
printf("\n");
k=0;
}
printf("%d ",c[i][m]);}
} 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询