Re: [問題] 前置運算子的優先權問題(暴難的觀念!!)
※ 引述《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
→
02/09 02:39, , 1F
02/09 02:39, 1F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章