数组变量在声明时,一定是确定大小的。但你可以用malloc的方式动态申请内存。
比如:
int tmp, i;
int *p = NULL;
int *res = NULL;
i = 0;
while(1)
{
scanf("%d",&tmp);
if(-1 == tmp)
break;
i++;
p = (int *)malloc(i * sizeof(int));
memcpy(p, res, (i - 1));
memcpy(res + (i - 1), &tmp, sizeof(int));
if(NULL != res)
free(res);
res = p;
}
if(NULL != res)
free(res);