作者knme (knem)
看板PHP
标题Re: [请益] 先++ 後++
时间Wed Apr 2 19:02:30 2008
※ 引述《lslong (龙龙)》之铭言:
: ※ 引述《knme (knem)》之铭言:
: : 请问版上的神人们
: : 有谁知道...
: : 为甚麽....
: : --- PHP 版本 -----
: : $i = 0;
: : $i = $i++ - ++$i;
: 一步步拆开来解
: 先遇到$i++
: 所以公式变
: $i = 0 - ++$i
: 然後++的关系
: $i变1
: 在遇到++i
: $i =2
: 代入公式
: $i = 0 - 2
: answer:-2
: : echo $i; // i is -2
: : --- C 版本 -----
: : int i=0;
: : i = i++ - ++i;
: : printf("%d",i); // i is 1
: : P.S.
: : JAVA 结果也同PHP
: C语言请其他高手补足吧..
两者看的方式不太一样
C是用整行来看
++i, 处理这行之前, 先将i加1
i++, 处理这行之後, 再将i加1
因此会变成
i = 0;
++i;
i = i - i;
i++;
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.116.39.218
1F:→ LPH66:C语言严格来说并不一定是这样写 标准规定它是未定义行为 04/02 19:34
2F:→ LPH66:也就是各家做出来的结果可能会不同 04/02 19:34
3F:→ knme:了解~ 04/02 19:54
4F:推 ckmarkhsu:这 C standard 应该有吧? 04/02 21:51
5F:→ MOONRAKER:In fact it's NOT well-defined 04/02 22:43
6F:推 fillmore:我记得不同平台结果会不同 04/03 02:18
7F:→ fillmore:所以结果不一定@@ 04/03 02:18
9F:推 Tenging:简单明了推 04/05 14:08