推 Cidolfas:3Q,我後置的觀念上還是有錯 09/02 16:36
※ 引述《Cidolfas ()》之銘言:
: printf("k++ = %d\n\n",k++); //結果螢幕顯示為"10"
: // 後置,先輸出 k = 10,再做 k = k + 1 (依照課本的說法應該是"11")
: // 所以printf結束後 k = 11
錯!
後置, k 本來的 value 是 10
先遞增為 11
然後 evaluate 為 遞增前的值 (10)
: 改為
: printf("++k = %d\n\n",++k); //結果螢幕顯示為"11"
: // 前置,先做 k = k+1,輸出時是 k = 11
: printf("k++ = %d\n\n",k++); //結果螢幕顯示為"11"
: // 後置,先輸出 k = 11,再做 k = k + 1
: // 這個printf結束後 k = 12
同上
: printf("--k = %d\n\n",--k); //結果螢幕顯示為"11"
: // 前置,先做 k = k-1,輸出是 k = 11
alien
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.238.156.185