天天看點

c語言 file fp null,c程式出錯,file:fscanf.c Line:54 expression:stream!=NULL...

該樓層疑似違規已被系統折疊 隐藏此樓檢視此樓

@bsod

改正後的檔案為:

#include

#define Max 10

int a[Max],b[Max],cnt=0;

int readDat(void);

void jsVal();

void writeDat();

int main()

{

int i;

if(readDat())

{

printf("in.txt不能打開!\n");

return 0;

}

jsVal();

for(i=0;i

printf("%d\t",b[i]);

writeDat();

return 0;

}

int readDat(void)

{

int i;

FILE *fp;

if((fp=fopen("in.txt","r"))==NULL);//判斷是否能打開

{

return 1;

}

for(i=0;i

{

fscanf(fp,"%d",&a[i]);

}

fclose(fp);

return 0;

}

void jsVal()

{

int i,j,qw,bw,sw,gw;

int ab,cd,temp;

for(i=0;i

{

qw=a[i]/1000;

bw=(a[i]%1000)/100;

sw=((a[i]%1000)%100)/10;

gw=((a[i]%1000)%100)%10;

ab=qw*10+sw;

cd=bw*10+gw;

if(ab>=cd&&(ab-cd<=10)&&(ab%2)&&(cd&2)&&qw&&sw)

{

b[cnt++]=a[i];

;

}

}

for(i=0;i

for(j=i+1;j

{

if(b[i]

{

temp=b[i];

b[i]=b[j];

b[j]=temp;

}

}

}

void writeDat()

{

int i;

FILE *fp;

fp=fopen("out.txt","w");

for(i=0;i

fprintf(fp,"%d\t",b[i]);

fclose(fp);

}

不報錯

但是關鍵是為什麼每次運作都是檔案不能打開,我想請教怎樣才能讓正常打開in.txt。

是格式問題還是其他問題