在C中填充100个整数的数组

时间:2017-04-05 20:23:10

标签: c arrays cs50

我正在参加免费的CS50在线课程。在其中一个视频教程中,老师提到了用100个整数填充数组的能力,这是一个很好的做法。我现在正试图做那件事,我很难搞清楚。

注意:我只看过包括scanf函数和指针在内的答案。这是解决它的唯一方法,还是可以在没有scanf和指针的情况下解决?

这几乎是我能得到的最接近......

#include <stdio.h>
#include <cs50.h>
#include <ctype.h>
#include <stdlib.h>

int main(void)
{

int fill_array[100];

for(int i = 0; i <= 100; i++)
{
    fill_array[99] = i;
    printf("%i", fill_array[i]);
}
}

打印出大量随机数并出现此错误:

fillingarray.c:14:18: runtime error: index 100 out of bounds for type 'int [100]'
665999424

2 个答案:

答案 0 :(得分:2)

应该是:

for(int i = 0; i < 100; i++)

for循环中还有一个错误,要填充数组,您应该:

fill_array[i] = i;

代码看起来应该是

int fill_array[100];

for(int i = 0; i < 100; i++)
{
fill_array[i] = i;
printf("%i", fill_array[i]);
}

答案 1 :(得分:1)

一个

int fill_array[100];

的索引为0-99。 及时停止for循环。

for(int i = 0; i < 100; i++)

此外,您可能希望填写不同于99的索引。