【发布时间】:2015-07-28 04:14:46
【问题描述】:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
void main()
{
int **a;
int i,j,p;
a=(int**)malloc(3*sizeof(int*));
for(i=0;i<3;i++)
{
*(a+i)=(int*)malloc(2*sizeof(int));
}
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
scanf("%d",(*(a+i)+j));
}
for(i=0;i<3;i++)
{
for(j=0;j<2;j++)
{
p=*(*(a+i)+j);
printf("%d ",p);
}
}
}
}
在这段代码中,我使用指针为我的矩阵动态分配内存......但我只能在第一行输入值,其余的指针地址正在打印,如下所示..
只取第一行元素并给出第一行的输出,但从第二行开始不取任何输入,但打印垃圾值。 帮我找出错误。 请帮我找出这段代码中的错误。
【问题讨论】: