当我运行这段代码时,该printf()
函数似乎给出了一个随机的大数,就好像它正在调用一个超出范围的数组。这里发生了什么?
#include <stdio.h>
#include <math.h>
int main(void)
{
int test_num = 1000;
int factors[16];
for(int i = 1, j = 0; i < test_num; i++, j++) {
if(test_num % i == 0)
factors[j] = i;
}
printf("%d", factors[2]);
return 0;
}