设有定义,float x=2.5,a=7,y=4.7;则算数表达式x+a%3*(int)(x+y)
答案:4 悬赏:0 手机版
解决时间 2021-04-06 14:21
- 提问者网友:了了无期
- 2021-04-05 21:03
设有定义,float x=2.5,a=7,y=4.7;则算数表达式x+a%3*(int)(x+y)
最佳答案
- 五星知识达人网友:野慌
- 2021-04-05 22:18
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.5+1*7%2/4是怎么算的呀?追答2.5+1*7%2/4
2.5+7%2/4
2.5+1/4
2.5+0=2.5追问为什么7%2/4=1/4呢 我是新手追答7%2,7对2取模,相当于7除以2的余数,%取模运算符,要求两边都是整数,右边的数如果是负数也按正数来算,结果不会加上负号,左边如果是负数,结果是负数,但是计算过程还是使用正整数计算,只不过最后结果加上负号,运算符优先级和乘法除法一样,结合性从左往右追问谢谢你
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.5+1*7%2/4是怎么算的呀?追答2.5+1*7%2/4
2.5+7%2/4
2.5+1/4
2.5+0=2.5追问为什么7%2/4=1/4呢 我是新手追答7%2,7对2取模,相当于7除以2的余数,%取模运算符,要求两边都是整数,右边的数如果是负数也按正数来算,结果不会加上负号,左边如果是负数,结果是负数,但是计算过程还是使用正整数计算,只不过最后结果加上负号,运算符优先级和乘法除法一样,结合性从左往右追问谢谢你
全部回答
- 1楼网友:动情书生
- 2021-04-06 00:40
“(int)(x+y)”这里——x+y=7.2怎么能强转成int呢!
- 2楼网友:躲不过心动
- 2021-04-05 23:17
报错有吧%只能用于整型
- 3楼网友:封刀令
- 2021-04-05 22:53
连编绎都通不过!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯