user-0 提问: 请问这段代码有什么问题么？。为什么没有输出？

回复:
user: user-1
content: #include <stdio.h> #include <stdlib.h>   //long long int array[1000]= {0}; long long int array[1000];  //全局变量编译器默认会给初始化为0  int main() {     long long int N;     scanf("%lld",&N);      printf("%lld\n", N);     if (N > 1000)         N = 1000 -1;     for(long long int i=0; i<=N; i++)     {         for(long long int m=N; m>0; m--)         {             //if(m%i==0)             if(i != 0 && m%i==0)                 array[m]++;         }     }     for(long long int i=0; i<=N; i++)     {         //printf("%d\n",array[i]);         printf("%lld\n",array[i]);     }     return 0; }  供参考～

user: user-0
content: 引用 5 楼 自信男孩 的回复:#include <stdio.h> #include <stdlib.h>   //long long int array[1000]= {0}; long long int array[1000];  //全局变量编译器默认会给初始化为0  int main() {     long long int N;     scanf("%lld",&N);      printf("%lld\n", N);     if (N > 1000)         N = 1000 -1;     for(long long int i=0; i<=N; i++)     {         for(long long int m=N; m>0; m--)         {             //if(m%i==0)             if(i != 0 && m%i==0)                 array[m]++;         }     }     for(long long int i=0; i<=N; i++)     {         //printf("%d\n",array[i]);         printf("%lld\n",array[i]);     }     return 0; }  供参考～ 谢谢

user: user-2
content: if(m%i==0)你 i 从0开始，这里除数为0 异常了

user: user-3
content: 供参考：https://blog.csdn.net/citywanderer2005/article/details/613039?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161762552616780269884273%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=161762552616780269884273&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v29-8-613039.pc_search_result_cache&utm_term=%E5%9C%A8%E4%B8%BB%E5%87%BD%E6%95%B0%E5%A4%96%E5%92%8C%E4%B8%BB%E5%87%BD%E6%95%B0%E5%86%85%E5%AE%9A%E4%B9%89%E7%9A%84%E6%95%B0%E7%BB%84%E5%85%B6%E6%9C%80%E5%A4%A7%E5%8F%AF%E5%AE%B9%E7%BA%B3%E5%85%83%E7%B4%A0%E4%B8%AA%E6%95%B0%E5%88%86%E5%88%AB%E6%98%AF%E5%A4%9A%E5%B0%91%E5%91%80%EF%BC%9F

user: user-0
content: 引用 1 楼 user-3 的回复:问题多了，没明白楼主的代码想实现什么，供参考：#include <stdio.h> #include <stdlib.h> long int array[1000]= {0};//这里数组容量是1000,下标0-999 int main() {     long int N;     scanf("%lld",&N);      //这里如果N 是11位数     for(long int i=1; i<=N; i++) //for( int i=0; i<=N; i++)     {         for(long int m=N; m>=0; m--)//相应的for()里的整形变量和N要同类型，有赋值m=N         {             if(m%i==0)   //第一个for()循环里i不能从0开始，这里出现 m%0                array[m]++;//这里数组下标就越界了，因为m=N=11位数         }     }     for(long int i=0; i<=N; i++)     {         printf("%d\n",array[i]);     }          return 0; } 感谢回答，想再请问一下，在主函数外和主函数内定义的数组其最大可容纳元素个数分别是多少呀？

user: user-3
content: 问题多了，没明白楼主的代码想实现什么，供参考：#include <stdio.h> #include <stdlib.h> long int array[1000]= {0};//这里数组容量是1000,下标0-999 int main() {     long int N;     scanf("%lld",&N);      //这里如果N 是11位数     for(long int i=1; i<=N; i++) //for( int i=0; i<=N; i++)     {         for(long int m=N; m>=0; m--)//相应的for()里的整形变量和N要同类型，有赋值m=N         {             if(m%i==0)   //第一个for()循环里i不能从0开始，这里出现 m%0                array[m]++;//这里数组下标就越界了，因为m=N=11位数         }     }     for(long int i=0; i<=N; i++)     {         printf("%d\n",array[i]);     }          return 0; }