社区
Java EE
帖子详情
面试题
HeiBoyYang
2011-09-17 06:20:36
偶尔间看到一个面试题:如下别打印 口算结果,分析一下,谁讲的好就得分
int a = 2;
int s1 = a + 3 * a++;
int s1 = (a++) + 3 * a;
2个s1分别是多少
...全文
116
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版的
Java
面试题
,J2EE
面试题
,.net
面试题
,PHP
面试题
,数据库
面试题
,英语面试,外企面试,软件测试
面试题
,Python
面试题
,Oracle
面试题
,MySql
面试题
,Web开发
面试题
,Unix
面试题
,程序员面试,网络技术
面试题
,网络安全
面试题
,Linux...
张孝祥整理的JAVA
面试题
宝典下载
这套
面试题
主要目的是帮助那些还没有java软件开发实际工作经验,而正在努力寻找java软件开发工作的朋友在笔试时更好地赢得笔试和面试。由于这套
面试题
涉及的范围很泛,很广,很杂,至少需要一个月的时间才能消化和...
2015Java开发软件工程师
面试题
(必备最全)
绝对的史上目前为止最全的Java工作人员
面试题
集,Java
面试题
,oracle,ms sql数据库
面试题
,linux
面试题
,web服务器
面试题
C/C++程序设计员应聘常见面试试题深入剖析
面试题
的目的并不在于提供求职指导,而是从技术上分析
面试题
的内涵。许多
面试题
看似简单,却需要深厚的基本功才能给出完美的解答。企业要求面试者写一个最简单的 strcpy 函数都可看出面试者在技术上究竟达到了怎样的...
各个公司
面试题
(百度、华为、中兴、烽火科技等)
本压缩包文件“各个公司
面试题
(百度、华为、中兴、烽火科技等)”包含了这些知名IT公司的
面试题
目,对于准备面试的朋友们来说,是一个宝贵的参考资料。 首先,我们来看看“百度”的
面试题
。百度作为中国互联网巨头...
Java EE
67,550
社区成员
225,863
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章