我正在用C编写一个程序。我在这个代码片段中有一个问题。我不明白为什么我的控件永远不会进入LAMBDA = 1并且永远不会打印“我在这里”。请告诉我这段代码有什么问题。有人将此问题标记为重复,但我无法理解之前提出的问题的答案。
for(LAMBDA=0.05 ; LAMBDA <=1; ) {
if(LAMBDA == 1) {
printf("I am here\n");
sprintf(string,"dist%0.0f.xvg",LAMBDA);
printf("%f\n",LAMBDA);
}
else {
sprintf(string,"dist%0.2f.xvg",LAMBDA);
printf("%0.2f\n",LAMBDA);
}
fp = fopen (string,"r");
if(LAMBDA == 0.95)
LAMBDA += 0.05;
else
LAMBDA += 0.1;
close(fp);
}