【发布时间】:2013-10-24 17:34:22
【问题描述】:
我已经编写了这段代码来获取 r*c 矩阵的输入
r -> 行 c -> 列
当 rc.
时无法产生正确的输出例子:
r=6, c=2
输入: 1 2 3 4 5 6 7 8 9 10 11 12
输出:
1 2 11 12 5 6 11 12 11 12 11 12
请告诉我哪里出错了。 我不想使用固定大小的数组。
#include <stdio.h>
void scanmatrix(int* a[],int r,int c)
{
int i,j;
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
{
scanf("%d",&a[i][j]);
}
}
}
void printmatrix(int* a[],int r,int c)
{
int i,j;
for(i=0;i<r;i++)
{
printf("\n\n");
for(j=0;j<c;j++)
{
printf("%d\t",a[i][j]);
}
}
}
int main()
{
int* a;
int r,c,i,j;
scanf("%d%d",&r,&c);
a=(int *)malloc(r*c*sizeof(int));
scanmatrix(&a,r,c);
printmatrix(&a,r,c);
return(0);
}
【问题讨论】: