作者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
→ LPH66:C語言嚴格來說並不一定是這樣寫 標準規定它是未定義行為 04/02 19:34
→ LPH66:也就是各家做出來的結果可能會不同 04/02 19:34
→ knme:瞭解~ 04/02 19:54
推 ckmarkhsu:這 C standard 應該有吧? 04/02 21:51
→ MOONRAKER:In fact it's NOT well-defined 04/02 22:43
推 fillmore:我記得不同平台結果會不同 04/03 02:18
→ fillmore:所以結果不一定@@ 04/03 02:18
推 Tenging:簡單明瞭推 04/05 14:08