【发布时间】:2013-11-18 20:43:54
【问题描述】:
我正在做课堂作业,我想我会用一个问题来打扰你们:
所以程序的目的是让用户输入数组的大小,然后用一些数据对其进行初始化。最大大小为 20。我的问题是当设置大小超过 14 并尝试对其进行初始化时,数组会崩溃。例如,如果它将大小设置为 20,它会接受它,但是当我尝试初始化它时,它会崩溃。我不知道我在做什么。非常感谢您的帮助。
非常感谢,
埃西
int main ()
{
int sizeOfArray = 0; //size Of Array
float myArray[sizeOfArray];
//I have a piece a line or two of code that asks the user for the size of the
array
printf("Let's Initialize an array of size %d!!\n", sizeOfArray);
do
{
printf("Enter array element %d : ", initCounter+1);
myArray[initCounter] = userInitArray();
initCounter++;
}while (initCounter < sizeOfArray);
}
float userInitArray()
{
float num;
scanf("%f", &num);
return num;
}
【问题讨论】:
-
initCounter 在哪里初始化?
-
如果这是C代码,为什么还要标记
[c++]? -
你也可以在
main()的第二行之后停下来。从字面上看,没有什么好的可以跟随。 -
@Raxvan,希望在某个地方的静态存储持续时间,否则 OP 将陷入痛苦的世界:-)
标签: c arrays function function-pointers