若有定义:inta=7;float x=2.5,y=4.7;则表达式 x=a%3*(int)(x+y)%2/4的值是?
详细解答:
首先你说的精度是指精确度,并不是保留小数的位数,这两个概念不同,你可能弄混了,而输出的时候,double和float默认都是保留六位,我就再这里给你解释一下这两个题目吧。 首先看第一题,题目的运算顺序就是从左到右计算,a%3值为1,(int)(x+y)值为7,a%3*(int)(x+y)值为7,a%3*(int)(x+y)%2值为1,a%3*(int)(x+y)%2/4值要看他的赋值对象和输出格式了,要是整形就直接舍去小数,要是浮点型就保留小数。 |
|