【已解决】【新手提问】关于c primer plus书中一道例题的疑问
本人新手,才看到第六章,大神勿笑。程序清单6.5 cmpflt.c程序 代码如下:

#include <stdio.h> #include <math.h> int main (void) { const double ANSWER = 3.14159; double response; printf ("What is the value of pi?\n"); scanf ("lf", &response); while (fabs (response - ANSWER) > 0.0001) { printf ("Try again!\n"); scanf ("%lf", &response); } printf ("Clouse enough!\n"); return 0; }
这道题应该是要比较用户输入的值跟ANSWER的值,
条件语句fabs(response - ANSWER)>0.0001为真则运行花括号里的Try again那条printf语句
问题:我在电脑上照抄然后运行编译显示的结果跟书上不太一样
多了一条Try again!的输出(不知道怎么放图我就文字打出运行结果吧)
运行后随便输入了一个值 while的条件语句为真 所以要运行花括号里的printf
但是我第一次输入的值之后显示了两遍Try again!
也就是我输入3.1

What is the value of pi? 3.1 Try again! Try again! 3.14159 Clouse enough!
只有在第一次输入的时候出现两句Try again!后面的输入就显示正常了
如果第一次就输入3.14159

What is the value of pi? 3.14159 Try again! Clouse enough!
还是会出现一句Try again!
我在DEV C++中编译运行的,在VS2012中也试了 一样的结果
本人系统win10;
[此贴子已经被作者于2015-12-27 20:56编辑过]