This question already has answers here:
Closed 2 years ago.
Value of memory changed without permission
(3个答案)
我在上免费的CS50在线课程。在其中一个视频教程中,老师提到了用100个整数填充数组的能力,这是一个很好的实践。我现在正试着做那件事,我很难搞清楚。
注意:我只看到了包含scanf函数和指针的答案。这是解决问题的唯一方法,还是可以不用扫描和指针就解决问题?
这几乎是我能得到的最接近。。。
打印出大量随机数,然后出现以下错误:
for循环中还有一个错误,要填充数组,应:
代码应该看起来像
(3个答案)
我在上免费的CS50在线课程。在其中一个视频教程中,老师提到了用100个整数填充数组的能力,这是一个很好的实践。我现在正试着做那件事,我很难搞清楚。
注意:我只看到了包含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
最佳答案
应该是:
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]);
}
10-06 04:49