C语言中怎样从键盘输入一个元素个数小于10的数组,个数由输入而定,个

2025-03-30 03:15:09
推荐回答(1个)
回答1:

数组变量在声明时,一定是确定大小的。但你可以用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);