设在程序中a、b、c均被定义成整型,所赋的值都大于1,则下列C++表达式能正确表示下图所示代数式的是( )。
A、1.0/a*b*c
B、1/(a*b*c)
C、1/a/b/(float)c
D、1.0/a/b/c
答案:D
解析:
A:错,因为"/"的优先级和"*"一样,这样结果就和(1.0/a)*b*c一样了。
B:错,表达式本身没问题,但是结果是int,忽略了小数点后面的数。
C:错,同B。
B:正确。左操作数为double 会让a从int型上升到double型,所以1.0/a/b/c 是对的。