设有如下的变量定义: double x=4.700000;float y=2.5f;int z=7; 则执行表达式“y+z%3* (int) (x+y)%2/4”后的值是【 】。

admin2010-12-17  28

问题 设有如下的变量定义:
double x=4.700000;float y=2.5f;int z=7;
则执行表达式“y+z%3* (int) (x+y)%2/4”后的值是【  】。

选项

答案5

解析 根据算术运算的优先级规则,应先执行z%3* (int) (x+y)%2/4之后,再用其值与 y作加法运算。z%3*(int) (x+y)%2/4的执行顺序为先计算z%3,得值为1,再计算x+y并取整,其值为7,用z%3的值1.与(int) (x+y)的值7相乘得7,再计算7%2得值为1,再计算1/4,由于两个整数相除,其结果为商的整数部分,所以1/4的值为0。最后执行y+0,其结果为2.5。
转载请注明原文地址:https://kaotiyun.com/show/hu9p777K
0

随机试题
最新回复(0)