程序调节中的诡异问题
以下是我编写的程序,程序问题是:当第4行即#define N 中的N设为121200时程序可以运行,但当N设为1212等非121200这个数时程序就无法运行。
请问各位大侠这是什么原因,谢谢!!
调用文件中存放的是介于0-121200之间的随机数,且文件至少4G大小。
#include"stdio.h"
#include"stdlib.h"
#include"string.h"
#define N 121200 // N设为121200,程序可运行;当N不是121200时,程序就无法运行
FILE *str,*date2;
void main()
{
unsigned i,j,k,sum=0,a=0;
unsigned val; //
unsigned H=242400; //
unsigned char zifu[N]={0}; //
date2=fopen("E:\\随机数件夹\\suijishu-121200.txt","rt"); // 文件中是介于0-121200之间的随机数,文件大小至少4G
str=fopen("E:\\fenbu.txt","wt");
for(j=1;j<=H;j++) //H
{
fscanf(date2,"%u\n",&val); //
zifu[val]++;
printf("%d\n",j);
}
for(i=0;i<N;i++) //
{
if(zifu[i]!=0)
{
fprintf(str,"%u\t%u\n",i,zifu[i]); //
sum++; //
}
}
printf("%d\n",sum);