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






