void save(int n){
/******start******/
int i,j;
FILE *fp;
if((fp=fopen("lb8204.txt","w"))==NULL){
printf("Open the file failure...\n");
exit(0);
}
for(j=0,i=7;i<1000 && jif(i%7==0 || i%10==7 || i/10%10==7 || i/100==7){
fprintf(fp,"%4d",i);
if(++j%10==0)
fputc('\n',fp);
}
fclose(fp);
/******end******/
}
另:此题有错误——
while(!feof(fp)){
fgets(str, 44, fp);
printf("%s", str);
}
得改成
while(fgets(str, 44, fp),!feof(fp)){
printf("%s", str);
}
或改成
fgets(str, 44, fp);
while(!feof(fp)){
printf("%s", str);
fgets(str, 44, fp);
}
否则,最后会重复读出一行或乱码。正规书上的题出此显错,有点贻笑大方……