www.fltk.net > C语言问题 A=7,x=2.5,y=4.7,则x+A%3*(int)(x+y)%2/4的值是?

C语言问题 A=7,x=2.5,y=4.7,则x+A%3*(int)(x+y)%2/4的值是?

int a = 7; float x = 2.5, y = 4.7; x+a%3*(int)(x

()运算级最高 先做(x+y)结果为7.2 然后做(int)7.2 结果为7* / % 的优

根据运算符优先级,先算x+后面的。a%3就是7对3取余,至此算式简化为:x+1*(int)(x+y)

解题步骤: 1、(int)(2.5+4.7)=(int)(7.2)=7,式子变 x + a%3 *7

public class T0609 { public static void main(Strin

因为(int)是说运算结果强转成int,所以0.25从浮点数转完int就是0了 或者可以这么理解:

看了他们的回答,我觉得少了一点解释,对于初学者来说,应该是这样解释,%只能用于整数运算,所以它们的变

答案为2.5. 这个关键是优先级问题 1、括号永远优先级最高 2、无括号的默认优先级 * / 运算优

x+a%3*(int)(x+y)%2/4的值为: 2.5 因为: 2.5+7%3*(int)(2.5

按照加减乘除运算法则及顺序,还有结果转换类型为float,结果为2.5

网站地图

All rights reserved Powered by www.fltk.net

copyright ©right 2010-2021。
www.fltk.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com