【发布时间】:2019-10-17 09:06:15
【问题描述】:
据我所知
int i = 10;
int j = 5;
j += ++i; //j = 16, i = 11 (first i increments and then adds to j)
还有
int i = 10;
int j = 5;
j += i++; //j = 15, i = 11 (first i adds to j and then increments)
在表 5-4(运算符优先级和关联性)中的 C in a nutshell 中,它说后缀运算符 ++ 优先于一元运算符 ++,我不明白,因为相反的是我之前写的.
为什么?
【问题讨论】:
-
第一个sn-p说先增加i,然后使用它;第二个说首先使用 i 然后递增它。
-
没错。那是我写的,因为那是我所知道的。但在网站上似乎正好相反。
-
由于 ++ pre 和 ++ post 没有在同一个表达式中使用,因此无需考虑这些运算符的优先级。
-
说得好!如果可以的话,哪一个会优先?肯定是前缀? (这不是表中的内容)