
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 展开
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 展开
1个回答
展开全部
答案是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.
先算括号得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。或者你可以查看书籍啊,或者可以自己编一下程试试看撒。。我已经试编了程才来解释给你的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询