作者loteslogin (张三立)
站内Programming
标题[问题] 算子计算的优先顺序!
时间Tue Mar 31 15:28:06 2009
算子的优先顺序,常常有两种考虑:
其一,是结合性的优先顺序,这也是教科书里提的。
其二,是计算的优先顺细,这个部份经常是「未定义」的状态。
不过就计算上的优先顺序来说,逗号(comma)是被规定为有固定的优先顺序。
现在我想问的是三元算子: "?:" 是否在计算上有规定优先顺序呢?
也就是说 exp1 ? exp2 : exp3 是否有规定优先顺序呢?
举个例子来说:
x = ((a+=5) < 10) ? (a+3) : (a+7);
以这个算式来说,是否保证 a+=5 会被计算呢?
卸卸。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.111.126.31
1F:→ MOONRAKER:当然是会算到 你应该是要问a+=5会不会在 59.120.168.228 03/31 15:54
2F:→ MOONRAKER:後面a+3和a+7之前计算吧,不然不成问题 59.120.168.228 03/31 15:54
3F:→ loteslogin:对对,我就是要问是否会被先计算? 140.111.126.31 03/31 16:27
4F:→ loteslogin:我就是问是否有针对这个算子做规定。 140.111.126.31 03/31 16:27
5F:推 jtmh:既然会有疑问,为何还要这麽写呢?218.175.157.233 03/31 21:53