|
5啊哈币
#include <stdio.h>
#include <string.h>
#include <malloc.h>
#include <windows.h>
#include <math.h>
#include <stdlib.h>
#define MIN 750000
#define MAX 1500000
#define start 3
#define delta 100000//间隔
#define end 10000
int main()
{
int min,b,max,L,temp,i;
double temp2;
FILE *fp[15];
char *a[10];
if((fp[0]=fopen("f0","ab")==NULL)) printf("error");
if((fp[1]=fopen("f1","ab")==NULL)) printf("error");
if((fp[2]=fopen("f2","ab")==NULL)) printf("error");
if((fp[3]=fopen("f3","ab")==NULL)) printf("error");
if((fp[4]=fopen("f4","ab")==NULL)) printf("error");
if((fp[5]=fopen("f5","ab")==NULL)) printf("error");
if((fp[6]=fopen("f6","ab")==NULL)) printf("error");
if((fp[7]=fopen("f7","ab")==NULL)) printf("error");
if((fp[8]=fopen("f8","ab")==NULL)) printf("error");
if((fp[9]=fopen("f9","ab")==NULL)) printf("error");
if((fp[10]=fopen("f10","ab")==NULL)) printf("error");
if((fp[11]=fopen("f11","ab")==NULL)) printf("error");
if((fp[12]=fopen("f12","ab")==NULL)) printf("error");
if((fp[13]=fopen("f13","ab")==NULL)) printf("error");
if((fp[14]=fopen("f14","ab")==NULL)) printf("error");
//printf("%d",rear->n);
for(min=start;min<end;min++)
{
for(b=min;b<MIN;b++)
{
if(b%2==1&&min%2==1)
continue;
temp2=sqrt(pow(min,2)+pow(b,2));
temp=floor(temp2);
L=min+b+temp;
if(temp2==temp&&L<MAX)
{
max=temp;
printf("%d,%d,%d,%d\n",min,b,max,L);
i=L/delta;
fwrite(&L,sizeof(int),1,fp[i]);//亮点在这里!!!
}
}
}
for(i=0;i<15;i++)
{
fclose(fp[i]);
}
system("pause");
}
我想把L作为整形输入到文件中,但是定义出来的文件指针数组元素的地址全是一样的,用vc编译没有bug,卡在fwrite函数那里了,究竟哪里出错了? |
最佳答案
查看完整内容
if((fp[0]=fopen("f0","ab")==NULL)) printf("error");
这15句
你要的是 if((fp[0]=fopen("f0","ab")) == NULL) printf("error");
|