#include <stdio.h>
#include <malloc.h>
main()
{
int n,*p,*q;
printf("input the data number:");
scanf("%d",&n);
p=(int *)calloc(n,2);
printf("store %d data to memory.",n);
for(q=p;q<p+n;q++)
{
scanf("%d",q);
printf("%4d",*q);
}
printf("\n");
}
在scanf函数中空格和enter不是都是分隔符吗?这个程序中为什么运行到scanf函数,输入一个数字(比如1),按空格后不进入下一条语句(也就是printf函数)执行输出操作?5个数字全部输入后按回车键才会执行printf函数,这个时候调试,在每次循环中都不再执行scanf这一句了,每次循环只执行printf这一句,这是为什么啊?