新手求教,一个关于scanf的问题和一个关于realloc函数的问题
#include<stdio.h>#include<stdlib.h>
void main()
{
int i,a[10];
printf("shurujigeshu:");
for(i=0;i<=2;i++)
scanf("%d",&a[i]);
getchar();
i=0;
while(1)
{printf("%d",a[i]);getchar();i++;}
}
现在的结果是如果输入1,2,3,敲一个回车输出一个数
但是如果把第一个getchar()注释掉,如果输入1,2,3的话,那么第一次显示的是1和2,再敲回车才显示3
是不是scanf()函数的问题啊??
第二个是realloc函数的问题
如果内存不足用realloc函数的话,那么是直接增加分配内存呢,还是重新另找一块连着的内存分配,并把已有的数据拷贝过来?
换句话说,如果用栈来实现的话,那么base指针的值会变么?