看板 PHP 關於我們 聯絡資訊
※ 引述《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
lym520:C語言並未定義哪一個要先運算http://tinyurl.com/5foped 04/04 22:16
Tenging:簡單明瞭推 04/05 14:08