【已解决】【新手提问】关于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编辑过]