最近我正在备考计算机二级发现有的书上说,强制运算符应该为(类型名)(表达式),因为没有括号会使得(float)X+Y变成强制X变型然后+Y;
可是有的书上则说表达式不应该加括号,因为(float)(X/Y)表示的是X/Y计算后的结果再取的变型,所以不主张为表达式加括号。
我就很困惑,究竟该不该加括号呢??那一种说法才是正确的呢?为什么?等待您的解答
强制类型转换.以图示为例:
a=3,b=2.
(float)a/b结果为1.5; int的a(3)变为float的a(3.0),即3.0/2=1.5,表达式的值以精度最高的为准.
例如:3.0/2=3/2.0=1.5 而3/2=1
(float)(a/b)结果为1.0; 先计算(a/b)=1,因为都是整型的,再变int的1为float,即1.0
强制类型转化只对后面紧跟的那个变量进行转换,但是注意括号的优先级较高.