请问这段代码有什么问题吗?我总是得不到b[m]的值
本意是想要在最后arr[i] == 1时输出i,我该怎么改?
```c
#include
#define LEN 20
int main(){
//输入一个整数n表示长度
int n;
scanf("%d",&n);
//输入数组,编号,初始为0;
int arr[LEN] = {0};
int b[LEN] = {0};
int i,j;
for (j = 1; j <= n; j++){
for ( i = 1; i <= n; i++){
if ( i % j == 0){
arr[i] = 1;
}
}
if (arr[i] == 1){
printf("%d",i);
}
}
int m = 0;
for ( i = 1; i<= n; i++) {
if (arr[i] == 1) {
b[m] = i;
m++;
}
}
printf("%d ",b[m]);
return 0;
}
###### 运行结果及报错内容

好了,这个问题是我想复杂了,找到规律根本不用搞什么数组😅
21行i的值是n+1
34行换成下面的
for (i = 0; i < m; i++) {
printf("%d ", b[i]);
}