【发布时间】:2015-06-01 04:01:57
【问题描述】:
我希望能够在我的程序读取数字时重新分配空间量。 例如,在运行时,它应该能够读取任意数量的整数,然后将它们打印为“Int Array:(所有输入)” 这是我迄今为止尝试过的:
int main(int argc, char **argv)
{
int i = 0, n, num;
int *A;
A = malloc(sizeof(A));
while(scanf("%d",&num) == 1)
{
A[i] = num;
i++;
}
n = sizeof(A)/sizeof(A[0]);
printf("Int Array: ");
for (i = 0; i < n; i++)
{
printf("%d ", A[i]);
}
return 0;
}
【问题讨论】:
-
int A*无效! -
另外,
sizeof A通常给你 4 或 8,即指针的大小,而不是它指向的数据的大小。