动态数组定义问题[online]
void check(int *p,int n);int *p1,n;
printf("输入N个学生,打印出不及格学生的成绩\n");
while(scanf("%d",&n)!=EOF)
{
p1=(int *)malloc(n * sizeof(int));
for(int i=0;i<n;i++)
{
scanf("%d",p1++); -----------这里用p1+i的方式输入结果是正确的(以4个字节存储)
printf("%d ",p1++); -----------但是用p1++的方式输入结果是错误,(以8个字节随机存储)
我想问下是什么原因导致这样的结果,原理是怎么样的。
如果是数组(a[i],*p=a)的话就可以以a+i,p++的方式输入,用*(a+i)和*(p++)输出。