计算机二级语言中的强制类型转换符优先级是什么

#include <stdio.h>
int fun ( int n )
{ int a, b, c, k; double s;
s = 0.0; a = 2; b = 1;
for ( k = 1; k <= n; k++ ) {
s = s + (double)a / b;
c = a; a = a + b; b = c;
}
return s;
}
main( )
{ int n = 5;
printf( "\nThe value of function is: %lf\n", fun ( n ) );
}
第六行的(double)a/b;能不能换成(double)(a / b);有什么影响?

不可以。
前者是先将a强转为double型,然后除以b。由于类型侵蚀,使得这个计算过程全部都是按照double型进行的。
而后者是先计算a/b,都是按照int型计算的,再将结果强转为double型。因此结果偏差极大。
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网