请各位帮小弟解答一下一个问题,多谢,我通过打断点最后发现是在i=8,j=8的时候有错了,但是没有想明白,请各位高手帮忙解答一下,多谢
#include <stdio.h>
#include <malloc.h>
main ()
{
int *p[9];
int i,j;
for (i=0;i<9;i++)
{
p[i]=(int *)malloc(i+1);
for (j=0;j<i+1;j++)
{
p[i][j]=j;
}
}
for (i=0;i<9;i++)
{
for (j=0;j<i+1;j++)
{
printf("%d",p[i][j]); //当i=8,j=8后在这里就报错了,想不明白
}
printf("\n");
}
for (i=0;i<9;i++)
{
free(p[i]);
}
}