设有定义,float x=2.5,a=7,y=4.7;则算数表达式x+a%3*(int)(x+y)

2024-11-03 03:32:25
推荐回答(4个)
回答1:

x+a%3*(int)(x+y)
x+a%3*(int)(2.5+4.7)
2.5+7%3*(int)(7.2)
2.5+1*7=9.500000
请注意(int)(7.2),意思是强制把数据类型转换成int型,去掉小数部分,不会四舍五入,
最后float型与int型相加,两个数据类型自动转换成double型,结果9.500000,默认
小数位数是6位

x+a%3*(int)(x+y)%2/4
2.5+7%3*7%2/4
2.5+1*7%2/4
2.5+1/4=2.500000
注意1/4等于0,因为都是int型,结果只能是整数或者0

回答2:

“(int)(x+y)”这里——x+y=7.2怎么能强转成int呢!

回答3:

报错有吧%只能用于整型

回答4:

连编绎都通不过!