作者king19880326 (OK的啦~我都可以接受)
看板C_and_CPP
标题[问题] 我想请问结合律
时间Mon Sep 8 16:58:39 2008
已爬文
int i = 0;
i++++; // error
++++i;
++i++; // error
看书上是说, ++是left-associative
我想应该跟这部份有关
不过还是不大理解
left associative是指说 一个expression里面有出现不只一项相同的运算子
就要从最左边的开始解读吗 ??
那这样的话 ++++i 解读成 (++)(++i) 似乎有点怪 @@>
这边实在搞不大清楚
感谢各位大大解释 <(__)>
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 125.233.243.208
1F:推 SansWord:好像要看你的compiler 09/08 18:03
2F:→ king19880326:不大懂, 可以请您再多说一点吗?? 09/08 18:33
3F:→ lion0208:compile 怎麽解释就是怎样罗... 09/08 19:34
4F:→ lion0208: \r 09/08 19:35
5F:推 sunneo:就是未定义行为吧 09/08 19:59
6F:→ sunneo:i++++ error是说的过去的 因为i++回传的是一个暂时值 09/08 19:59
7F:→ sunneo:可以看指令优先权的地方 09/08 20:01
8F:→ sunneo:不过之前这讨论串在oohay的坚持下有一大串的热烈回响与讨论 09/08 20:01
9F:→ sunneo:在joy830的恶搞下有快乐的故事.虽然那个咖啡工读生已水桶了 09/08 20:02
10F:→ sunneo:文章代码#17eqfFiq或者标题"面试遇到的一个问题" 09/08 20:09
11F:推 bugmans:应该要走入历史的题目却一再出现 09/08 20:53
12F:推 kewang:置底十诫...... 09/08 21:04
13F:→ LiloHuang:为什麽这种问题还是会一再的出现...真的是月经文 09/08 21:17
14F:→ MOONRAKER:恶搞下有快乐的故事 XDDDDDDD 09/08 22:08
15F:推 zerodevil:这三个case都有明确定义啊.. 09/08 23:03
16F:→ zerodevil:两个error, 一个i=2 09/08 23:03
17F:→ zerodevil:不是看到一串++--就undefined... 09/08 23:04
18F:推 zerodevil:顺便回原po的问题 unary operator没有associativity 09/08 23:07
19F:→ zerodevil:那本书可以丢了XD 09/08 23:07
20F:→ king19880326:那结合律的意思是@@?? 感谢感谢<(__)> 09/09 00:06
21F:推 zerodevil:(x+y)+z=x+(y+z)这样的性质 09/09 00:15
22F:→ king19880326:那左结合跟右结合呢?? 又是什麽样的运算子有这种特性 09/09 01:15
23F:→ king19880326:?? 感谢感谢 09/09 01:15
24F:→ jaw109:真有兴趣的话, 你可以翻一下K&R那一本, 後面有grammer 09/09 13:05
25F:→ king19880326:感谢大大指点<(__)> 09/09 13:44