1、若有数据描述如下:int a=7;float x=2.5,y=4.7;,则表达式:x+a%3*(int)(x+y)%2%4的值为?

应该选哪个?我怎么算不出答案来,先算括号然后是*,然后是%,一算就错,怎么算的?1、若有数据描述如下:inta=7;floatx=2.5,y=4.7;,则表达式:x+a%... 应该选哪个?我怎么算不出答案来,先算括号然后是*,然后是%,一算就错,怎么算的?
1、若有数据描述如下:int a=7;float x=2.5,y=4.7;,则表达式:x+a%3*(int)(x+y)%2%4的值为?
A、2.5 B、3 C、3.5 D、4.5
展开
 我来答
不逝的足迹
2011-06-08 · TA获得超过1322个赞
知道小有建树答主
回答量:255
采纳率:0%
帮助的人:344万
展开全部
答案是3.5。
先算括号得x+y=7.2,强制转换成int型之后变为7,然后开始算最左边的%(取余数),a%3得1,1*7得7,7%2得1,1%4得1,最后x+1=3.5。注意%是取余数运算,比如5%2,余数为1.
追问
不是乘号*的运算优先级高于%吗?怎么是先求a%3而不是3先和后面的7乘再和a求余呢?
追答
、、、*和%的优先级是一样的,这个百度一下不就看到啦、百科那里http://baike.baidu.com/view/262524.htm。或者你可以查看书籍啊,或者可以自己编一下程试试看撒。。我已经试编了程才来解释给你的。

参考资料: http://baike.baidu.com/view/262524.htm

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式