BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #61509同步于 2012/4/13
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

[合集] 关于++的一个小问题~

shenlei
2012/4/13镜像同步0 回复
☆─────────────────────────────────────☆ crescentstar (crescent | cre) 于 (Thu Apr 12 13:52:55 2012) 提到: int j, q; j = 5; q=(++j)+(++j); cout << j << " " << q << endl; // 7 14 j = 5; q=(++j)+((++j)+(++j)); cout << j << " " << q << endl; // 8 22 j = 5; q=(++j)+(++j)+(++j)+(++j); cout << j << " " << q << endl; // 9 31 我判断应该是因为压栈的顺序问题导致的这个结果,求详细解释~ ☆─────────────────────────────────────☆ purevirtual (杨无敌|SSE|本命年) 于 (Thu Apr 12 14:03:56 2012) 提到: 这种问题已经有n个帖子了 简单说来就是没有答案 没有任何机制保证顺序 换个编译器又是个结果 【 在 crescentstar 的大作中提到: 】 : [code=c] : int j, q; : j = 5; : ................... - 本文通过BYR Android客户端2.0发布 ☆─────────────────────────────────────☆ crescentstar (crescent | cre) 于 (Thu Apr 12 14:04:23 2012) 提到: 我这不近几天才来这个版么~~~ 【 在 purevirtual 的大作中提到: 】 : 这种问题已经有n个帖子了 简单说来就是没有答案 没有任何机制保证顺序 换个编译器又是个结果 : - : 本文通过BYR Android客户端2.0发布 ☆─────────────────────────────────────☆ crescentstar (crescent | cre) 于 (Thu Apr 12 14:09:18 2012) 提到: 再问下。 我看到一个运算法优先级列表:pre-increment ++ 大于 post-increment ++ 大于 赋值运算符 = 以下代码: int i = 3; int j = i++; 一眼可知j=3,但如果依照运算符优先级,为什么不是 post-increment ++ 比 = 先执行呢? 【 在 purevirtual 的大作中提到: 】 : 这种问题已经有n个帖子了 简单说来就是没有答案 没有任何机制保证顺序 换个编译器又是个结果 : - : 本文通过BYR Android客户端2.0发布 ☆─────────────────────────────────────☆ shenlei (我爱果子|[路]|天山南北|潇湘隐士) 于 (Thu Apr 12 14:10:52 2012) 提到: 刚来也可以瞅瞅置顶呵呵... 【 在 crescentstar 的大作中提到: 】 : 我这不近几天才来这个版么~~~ : ☆─────────────────────────────────────☆ crescentstar (crescent | cre) 于 (Thu Apr 12 14:11:53 2012) 提到: 嗯。去瞅一遍~~~ 【 在 shenlei 的大作中提到: 】 : 刚来也可以瞅瞅置顶呵呵... ☆─────────────────────────────────────☆ purevirtual (杨无敌|SSE|本命年) 于 (Thu Apr 12 14:38:08 2012) 提到: 那是因为i++的返回值是i 优先级只是决定执行的顺序而非返回的结果 ps:我猜你是学java的而不是一开是学纯c的 【 在 crescentstar (crescent | cre) 的大作中提到: 】 : 再问下。 : 我看到一个运算法优先级列表:pre-increment ++ 大于 post-increment ++ 大于 赋值运算符 = : 以下代码: : ................... ☆─────────────────────────────────────☆ purevirtual (杨无敌|SSE|本命年) 于 (Thu Apr 12 14:39:08 2012) 提到: 我表示末尾的“呵呵”很有喜感 【 在 shenlei (我爱果子|[路]|天山南北|潇湘隐士) 的大作中提到: 】 : 刚来也可以瞅瞅置顶呵呵... ☆─────────────────────────────────────☆ crescentstar (crescent | cre) 于 (Thu Apr 12 14:51:51 2012) 提到: 偷偷告诉你,本科毕业后VC我都不知道怎么建工程。 【 在 purevirtual 的大作中提到: 】 : 那是因为i++的返回值是i : 优先级只是决定执行的顺序而非返回的结果 : ps:我猜你是学java的而不是一开是学纯c的 : ................... ☆─────────────────────────────────────☆ purevirtual (杨无敌|SSE|本命年) 于 (Thu Apr 12 14:54:55 2012) 提到: 研究生很多跨专业考过来的很多也是如此,并不能说明啥 【 在 crescentstar (crescent | cre) 的大作中提到: 】 : 偷偷告诉你,本科毕业后VC我都不知道怎么建工程。 ☆─────────────────────────────────────☆ crescentstar (crescent | cre) 于 (Thu Apr 12 14:57:22 2012) 提到: 说明我学的太烂>_<。 【 在 purevirtual 的大作中提到: 】 : 研究生很多跨专业考过来的很多也是如此,并不能说明啥 : ☆─────────────────────────────────────☆ purevirtual (杨无敌|SSE|本命年) 于 (Thu Apr 12 15:02:55 2012) 提到: 这 有心学,永远不会太晚 【 在 crescentstar (crescent | cre) 的大作中提到: 】 : 说明我学的太烂>_<。 ☆─────────────────────────────────────☆ buptrh (emi大婶) 于 (Thu Apr 12 15:03:06 2012) 提到: 偷偷的我们都看见了[ema28] 【 在 crescentstar 的大作中提到: 】 : 偷偷告诉你,本科毕业后VC我都不知道怎么建工程。 : ☆─────────────────────────────────────☆ crescentstar (crescent | cre) 于 (Thu Apr 12 22:36:29 2012) 提到: 再求一个题吧。关于 ++a 和 a++ 我已经理解的差不了了。 ++a 返回引用,是一个左值。 a++ 返回一个临时变量,为 const,是右值。 但我还是不是很懂以下代码: int a, b; a = 5; a = a + (a++); cout << a << endl; // 11 a = 5; b = a + (a++); cout << b << endl; // 10 为什么我觉得都应该是11呢。。。>_< ☆─────────────────────────────────────☆ purevirtual (杨无敌|SSE|本命年) 于 (Fri Apr 13 09:26:52 2012) 提到: 你还是在web下看一下这个版吧 版面上另外一个帖子就是这个问题 简单说来:就是这样的 第一个式子等价于: a=a+a; a++; 第二个式子等价与: b=a+a; a++; 所以a=11;b=10; 【 在 crescentstar (crescent | cre) 的大作中提到: 】 : 再求一个题吧。关于 ++a 和 a++ 我已经理解的差不了了。 ++a 返回引用,是一个左值。 a++ 返回一个临时变量,为 const,是右值。 : 但我还是不是很懂以下代码: : int a, b; : ...................
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。