【发布时间】:2013-12-22 17:23:08
【问题描述】:
我有这个程序:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i;
int myArray[5];
printf("Enter some numbers for the array.\n\n");
for( i = 0; i < 5; i++ )
{
scanf("%d", &myArray[i]);
}
printf("\nPrinting array...\n\n");
for( i = 0; i < 5; i++)
{
printf("%d \n\n", myArray[i] );
}
}
我想修改我的程序以允许用户输入任意数量的数字,完成后他们可以输入“-1”,然后退出 scanf 循环并在程序中继续打印数组.问题是我不明白如何声明一个没有大小的数组。我知道我可以使用sizeof(myArray / myArray[0]); 来查找数组中元素的数量,但编译器希望我始终输入一些我不知道的初始大小。
【问题讨论】:
-
听起来您需要使用指针创建一个类似列表的数据结构,以便您可以动态添加任意数量的项目。
-
尝试使用列表而不是数组,您可以在列表中添加或删除项目。