社区
Java EE
帖子详情
面试题
HeiBoyYang
2011-09-17 06:20:36
偶尔间看到一个面试题:如下别打印 口算结果,分析一下,谁讲的好就得分
int a = 2;
int s1 = a + 3 * a++;
int s1 = (a++) + 3 * a;
2个s1分别是多少
...全文
117
9
打赏
收藏
面试题
偶尔间看到一个面试题:如下别打印 口算结果,分析一下,谁讲的好就得分 int a = 2; int s1 = a + 3 * a++; int s1 = (a++) + 3 * a; 2个s1分别是多少
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
guozhenyu1990
2011-09-17
打赏
举报
回复
第一个 是8, 也就是 s1 = 2 + 3 * 2; 如果换成 s1 = 3*(a++) + a 结果就是s1=3*2+3=9;主要有个先后顺序问题,就是a 和3 * (a++)的先后顺序。
第二个 11,是 先a = a + 1;因为是先取值,再自增,所以 s1 = 2 + 3 * 3=11; 之所以是3* 3是因为s1 = (a++) + 3 * a ; (a++)在前面。如果换成(a++)在后面s1 = 3 * a + (a++);结果就是 s1 = 3 * 2 + 2 = 8。
如果换成 s1 = 3 * a + (++a);结果就是 s1 = 3 * 2 + 3 =9;
顶下
HeiBoyYang
2011-09-17
打赏
举报
回复
[Quote=引用 5 楼 btzbtz 的回复:]
第一个 是8, 也就是 s1 = 2 + 3 * 2; 如果换成 s1 = 3*(a++) + a 结果就是s1=3*2+3=9;主要有个先后顺序问题,就是a 和3 * (a++)的先后顺序。
第二个 11,是 先a = a + 1;因为是先取值,再自增,所以 s1 = 2 + 3 * 3=11; 之所以是3* 3是因为s1 = (a++) + 3 * a ; (a++)在前面。如果换成(a+……
[/Quote]
5楼 分析正确 其它看看5楼的
HeiBoyYang
2011-09-17
打赏
举报
回复
[Quote=引用 4 楼 wuhuipengwhp 的回复:]
int a = 2;
int s1 = a + 3 * a++;
int s1 = (a++) + 3 * a;
2个s1分别是多少?
首先我们来了解一下a++与++a的概念,a++也就是先运算再自加,++a就是先自加,在运算,那么接下来的题目就简单了!
int s1 = a + 3 * a++; 初始值a=2,s1=2+3*(2++); 第一次s1值得到的表达式为s1=2+3*2,结果……
[/Quote]
嗯,很正确,发错
HeiBoyYang
2011-09-17
打赏
举报
回复
[Quote=引用 4 楼 wuhuipengwhp 的回复:]
int a = 2;
int s1 = a + 3 * a++;
int s1 = (a++) + 3 * a;
2个s1分别是多少?
首先我们来了解一下a++与++a的概念,a++也就是先运算再自加,++a就是先自加,在运算,那么接下来的题目就简单了!
int s1 = a + 3 * a++; 初始值a=2,s1=2+3*(2++); 第一次s1值得到的表达式为s1=2+3*2,结果……
[/Quote]
嗯,很正确
btzbtz
2011-09-17
打赏
举报
回复
第一个 是8, 也就是 s1 = 2 + 3 * 2; 如果换成 s1 = 3*(a++) + a 结果就是s1=3*2+3=9;主要有个先后顺序问题,就是a 和3 * (a++)的先后顺序。
第二个 11,是 先a = a + 1;因为是先取值,再自增,所以 s1 = 2 + 3 * 3=11; 之所以是3* 3是因为s1 = (a++) + 3 * a ; (a++)在前面。如果换成(a++)在后面s1 = 3 * a + (a++);结果就是 s1 = 3 * 2 + 2 = 8。
如果换成 s1 = 3 * a + (++a);结果就是 s1 = 3 * 2 + 3 =9;
本人菜鸟,连个最基本的字符串转ASCII都写不出来,感觉这个面试官很脑残,脑残到家了,不知道分析的对不对
wuhuipengwhp
2011-09-17
打赏
举报
回复
int a = 2;
int s1 = a + 3 * a++;
int s1 = (a++) + 3 * a;
2个s1分别是多少?
首先我们来了解一下a++与++a的概念,a++也就是先运算再自加,++a就是先自加,在运算,那么接下来的题目就简单了!
int s1 = a + 3 * a++; 初始值a=2,s1=2+3*(2++); 第一次s1值得到的表达式为s1=2+3*2,结果为8;再这步运算好后,a的值就变为3;
那么第二个表达式int s1 = (a++) + 3 * a变为s1=(3++)+3*3=12;
雨天
2011-09-17
打赏
举报
回复
第一个s1是2+3*2 应该是8,第二个是2+3*3应该是11
成一粒
2011-09-17
打赏
举报
回复
s1=a+3*2->s1=3+6->s1=9(a=3)
s2=a+3*3->s2=4+9->s2=13
ylovep
2011-09-17
打赏
举报
回复
8和12
int s1 = a + 3 * a++; 初始值a=2,s1=2+3*(2++); 第一次s1值得到之后 a进累加
a++表示的是a=2先进行计算,计算完毕之后a加上1;也就是s1求完之后a的值就变为3;
第二个s1=(3++)+3*3=12;
该题应该考的是++这个运算符和各个运算符的优先级。
不知道分析的对不对
最全的IT公司
面试题
集 CHM版的
搜集了超级多的
面试题
,做成了CHM版,希望对准备面试的朋友有所帮助,主要的分类如下: Java
面试题
,J2EE
面试题
,.net
面试题
,PHP
面试题
,数据库
面试题
,英语面试,外企面试,软件测试
面试题
,Python
面试题
,Oracle
面试题
,MySql
面试题
,Web开发
面试题
,Unix
面试题
,程序员面试,网络技术
面试题
,网络安全
面试题
,Linux
面试题
,Hibernate
面试题
,Spring
面试题
,SQL Server
面试题
,Struts
面试题
,EJB
面试题
本文件已经收集了 http://www.mianwww.com 至 2009年10月27日的所有内容。 有人可能下载后打不开:提示The address is not valid 解决方法: 1. 右键点击下载后的文件,点Properties 属性 2. 点击Unblock 3. 双击重新打开下载的文件
张孝祥整理的JAVA
面试题
宝典下载
这套
面试题
主要目的是帮助那些还没有java软件开发实际工作经验,而正在努力寻找java软件开发工作的朋友在笔试时更好地赢得笔试和面试。由于这套
面试题
涉及的范围很泛,很广,很杂,至少需要一个月的时间才能消化和掌握这套面试宝典,所以,大家应该早作准备,从拿到这套面试宝典之日起,就要坚持在每天闲暇之余学习其中几道题目,日积月累,等到出去面试时,一切都水到渠成,面试时就自然会游刃有余了。
2015Java开发软件工程师
面试题
(必备最全)
绝对的史上目前为止最全的Java工作人员
面试题
集,Java
面试题
,oracle,ms sql数据库
面试题
,linux
面试题
,web服务器
面试题
C/C++程序设计员应聘常见面试试题深入剖析
C/C++程序设计员应聘常见面试试题深入剖析,不看会后悔!!!!!!!!!
各个公司
面试题
(百度、华为、中兴、烽火科技等)
本文件包括了国内外各大IT企业(百度、华为、中兴、烽火科技等)的
面试题
目,可供向往这些企业的哥们们提供些参考
Java EE
67,549
社区成员
225,863
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章