指针跟二维数组的一点问题, 会的麻烦看下,谢谢了
#include<stdio.h>#define N 4
void main()
{
int n,i,j;
int s[N][3]={0};
int (*p)[3];
p=s;
for(i=0;i<N;i++)
{
printf("请输入学生的学号:");
scanf("%d",&(*(p+i)));
printf("输入成绩:");
for(j=0;j<3;j++)
{
scanf("%d",&(*(*(p+i)+j)));
}
for(i=0;i<N;i++)
for(j=0;j<3;j++)
printf("%4d",*(*(p+i)+j));
printf("\n");
}
}
1,运行后的, 为什么会不再循环了,出现那么多0?是哪里逻辑思考出错了?
2,若将#denfine N 4,改成#denfine N 5,内存空间是重新开辟新一个空间?还是覆盖之前的空间