精華區beta C_and_CPP 關於我們 聯絡資訊
※ 引述《LPH66 (IWH68S0XZ8M89)》之銘言: : ※ 引述《oohay (五黑)》之銘言: : : 這裏例子還差一點才到達那個所謂未定義行為, : : z++ + z : : 對z只打算更新一次. : : 十誡第十條所指的必須是在同ㄧexpression打算更新同一變數二次以上. : : 那才有未定義行為. : 唔? 我覺得這裡有一點這個問題: : 到底它是 : 求(z++)的值(ie.取z的值) => 求z的值 => 加起來 => 做z=z+1 : 還是 : 求(z++)的值(ie.取z的值) => 做z=z+1 => 求z的值 => 加起來 : 這兩個結果不一樣吧 @@ (也就是"z=z+1"什麼時候做) : 如果執行前z=5 : 那第一個順序的+得值10 第二個順序的+得值11 喔對,自己也搞得很混淆, Java的 z++ + z 改寫成普通程式碼,應該是: int t = z++; t + z; 而不是沒思考清楚就提的 (z++, z+z), 抱歉造成混淆. -- pTT:灌C可以搞阿嬌啊? :我的Visual C++光碟哪裏去了? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.160.114.86
ckclark:a++ + b卻又不是這麼回事哦 02/03 17:12
oohay:a++ + b不是 int t=a++; t + b 的意思嗎? 02/03 17:15
oohay:喔,我知道什麼意思了,刪掉這篇重來. 02/03 17:16
oohay:嗯...不用刪,應該沒錯啦 02/03 17:17
ckclark:我也搞錯了 02/03 17:27