看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《Barlog (巧克力魔人)》之銘言: : 借用樓下網友的例子 : a=3; : b=(--a)*(a++)*(a--)*(a--); : --a,這時a=2 : b=2*2*2*2=16 : 運算完後,再a++,a--,a-- : 所以a=1 大家講得很開心, 完全沒看到板大的文章嗎 orz 我來幫忙貼前板主精心整理出來的 FAQ 中的一部份 詳見置底文~ 九、你不可以在一個運算式(expression)中,對一個基本型態的變數修改其值 超過一次以上。否則,將導致未定義的行為(undefined behavior)。 錯誤例子: int i = 7; int j = ++i + i++; 正確例子: int i = 7; int j = ++i; j += i++; -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.30.55
UNARYvvv:總有出題者搞不清楚,也總有學生從輸出結果反推來猜 02/09 02:39