首页 > 解决方案 > For循环无法正常工作以获取c中数组中的输入

问题描述

我正在研究一个编码问题“从输入中找到最小的数字”,我以 for 循环的形式获取输入并将它们存储在一个数组中。它对于小于 11 的总输入工作正常,但对于大于 11 的输入,它只需要 10 个输入然后中断。

printf("HOW MANY NUMBERS DO YOU WANT TO INPUT\n");
int array_size , var1;
scanf("%d",&array_size );
var1 = array_size;
int index = 0 , array[index];
for(int index = 0; index < array_size; index++)
{
    printf("inputs left: %d\n",var1);
    var1 -= 1;
    scanf("%d",&array[index]);
}

我希望它应该根据用户的需要接受尽可能多的输入,但它只需要 10 个输入,我似乎找不到问题所在。

标签: carraysloops

解决方案


int index = 0 , array[index];

您在这里声明一个大小为 0 的数组。数组大小必须是正数。

您没有index按照此处声明的方式使用,将其删除并array_size用作尺寸:

int array[array_size];

推荐阅读