作者honyihon (lantis)
看板java
标题[问题] 几个简单却又复杂的题目
时间Tue Nov 22 00:38:43 2011
int x=3,y=3,z=3;
z+=++x*y++;
这题由程式跑出的 结果 x y z 的值分别为 4 4 15
可是正常我们分析 ++x 为4 y++为4 程式应该变成 z+=4*4 ,也就是 z=z+4*4 z的值依照
这个思路应该是 3+4*4 也就是 19 ,哪边思路出现问题?
---------------------------------------------------
int a=3,b=4,c=5;
a+=b*++c;
跑出来的结果 a,b,c 分别为 27 , 4 ,6
要怎样改一个运算子才能使答案变成 23 , 4 ,6
各位是怎样想的......
--------------------------------------
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.253.112.9
1F:→ awert:y++在当下是3 11/22 00:42
2F:→ bera:改成a+=b*c++ 我是这样想 11/22 01:38
3F:→ comeonbaby:楼上++好像放错位了? 这就是典型的++x和x++的差别问题 11/22 01:43
4F:→ comeonbaby:误会b大了 以为第一题 sor orz... 11/22 01:45
5F:→ bera:第1题1楼已经说明罗, 我的记法是y++的++在後面, 是後面才动作 11/22 01:59
6F:→ bera:所以3先指派给y 然後去做z+=++x*y++运算 算完後 再做++(加1) 11/22 02:02
7F:推 MephistoH:++在後面就是最後做 11/22 09:35
8F:→ luoqr:不过拜托以後出去工作不要这样写 XD 11/23 00:15
9F:推 wemee:int c=3; c=c++ + ++c; c变多少? 11/28 07:11