若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是
4个回答
展开全部
public class T0609 {
public static void main(String args[]) {
int a=7;
float x=2.5f;
float y=4.7f;
System.out.println(x+a%3*(int)(x+y)%2/4);
}
}
===========测试结果=============
2.5
说明:
这个关键是优先级问题
1)括号永远优先级最高
2)无括号的默认优先级
* / 运算优先级最高
% 运算优先级次高
+ -运算优先级最低
所以 是 2.5 + {7%[3*(x+y)]%(2/4)} 这个式子的结果
public static void main(String args[]) {
int a=7;
float x=2.5f;
float y=4.7f;
System.out.println(x+a%3*(int)(x+y)%2/4);
}
}
===========测试结果=============
2.5
说明:
这个关键是优先级问题
1)括号永远优先级最高
2)无括号的默认优先级
* / 运算优先级最高
% 运算优先级次高
+ -运算优先级最低
所以 是 2.5 + {7%[3*(x+y)]%(2/4)} 这个式子的结果
展开全部
* / 运算优先级最高
% 运算优先级次高
+ -运算优先级最低
%是求余符号
所以 是 2.5 + {7%[3*(x+y)]%(2/4)}
正确答案:2.5
% 运算优先级次高
+ -运算优先级最低
%是求余符号
所以 是 2.5 + {7%[3*(x+y)]%(2/4)}
正确答案:2.5
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
void main ()
{ int a=7;
float x=2.5,y=4.7;
printf("%d",int(x+a%3*(int)(x+y)%2/4));
}结果为2
void main ()
{ int a=7;
float x=2.5,y=4.7;
printf("%d",int(x+a%3*(int)(x+y)%2/4));
}结果为2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
自己上机去试去,然后想想为啥结果会这样,这样的题还需要发到百度知道上来吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询