-
-
[旧帖]
[求助]诚惶诚恐--关于C的问题
0.00雪花
-
发表于:
2008-10-5 18:00
3238
-
[旧帖] [求助]诚惶诚恐--关于C的问题
0.00雪花
各位大家下午好,诚惶诚恐在此发贴问一简单问题,忘各位不吝赐教。
下面就是我一直调试的c:
#define PI 3.1416
main()
{
float Radius,Area;
scanf("%f",&Radius); /*输入半径的值*/
Area=PI*Radius*Radius;
printf("%f\n",Area); /*输出圆的面积*/
}
上面的代码语法是没错误,只是运行结果有些与期望值不符,比如:
(1).运行,输入4,期望值:50.265600; 但是运行结果:50.265598。
(2).运行,输入8,期望值:201.06240; 但是运行结果:201.062393。
Area定义的是float,按常理来说浮点型变量能保证的有效数字是7位,后面的数字是无意义的,但从上面的运行结果看来(1)的运行结果在第6位就于期望值不符,(2)的运行结果在第7位与期望值不符。期望值肯定不会错,算了好多遍。我只是不明白程序在运行的过程中在哪个地方发生改变以至于与我的期望值不符。
往有高手指教,不知道我这样的题放在这有没有与看雪论坛风格有抵触,大家见笑了。
[课程]Android-CTF解题方法汇总!