#include <stdio.h>
#include <stdlib.h>
void zhuanzhi(int *x,int n)
{
int i,j,b[100][100];
for(i=0;i<n;i++)
{
for(i=0;j<n;j++)
{
b[i][j]=*x;
x++;
}
}
for(i=0;i<n;i++)
{
for(i=0;j<n;j++)
{
printf("%d ",b[i][j]);
}
printf("\n");
}
}
int main()
{
int a[10][10],n,i,j,*p=NULL;
scanf("%d",&n);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",a[i][j]);
}
}
p=a;
zhuanzhi(p,n);
}
这是我编的程序 ,问题出在哪里?
高人求解
程序改成如下
#include <stdio.h>
#include <stdlib.h>
void zhuanzhi(int *x,int n)
{
int i,j,b[100][100];
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
b[i][j]=*x;
x++;
}
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("%d ",b[j][i]);
}
printf("\n");
}
}
int main()
{
int a[10][10],n,i,j,*p=NULL;
scanf("%d",&n);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}
}
p=&a[0][0];
zhuanzhi(p,n);
}
运行结果不对啊T.T
你写成了for (i=0; j<n ;++j)
还有 转置不是b[j][i]么?本回答被提问者采纳