У меня есть следующий код, и компилятор не показывает мне никаких сообщений об ошибках или предупреждений. Но хотя условия выполнены, это не делает то, что я хочу.
#include <stdio.h>
int main()
{
FILE *f,*g;
f = fopen("MPCORB_Distant.txt","r");
g = fopen("MPCORB_Distant_AvgKBOValues.txt","w");
float Nbr,H,G,Epoch,M,w,W,i,e,n,a,UP,Ref,Obs,Opp,Arc,rms,Pert1,Pert2,
Comp,Type,Name,LastObs;
float Res_a,Res_e,Res_i,Res_W,Res_w;
while(!feof(f))
{
fscanf(f,"%f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f\n",
&Nbr,&H,&G,&Epoch,&M,&w,&W,&i,&e,&n,&a,&UP,&Ref,&Obs,&Opp,&Arc,&rms,&Pert1,
&Pert2,&Comp,&Type,&Name,&LastObs);
if ( a > 60 )
{
fprintf(g,"%f %f %f %f %f\n",a,e,i,W,w);
}
else
{
}
}
fclose(f);
fclose(g);
return 0;
}
Когда я пишу printf("Hello\n");
внутри условия else, запись не прекращается. Кажется, что вообще не входит в if-условие, несмотря на то, что условие выполняется довольно скоро в списке файла, который читается.