作者ledia (contemplation)
看板C_and_CPP
标题Re: [问题] 前置运算子的优先权问题(暴难的观念!!)
时间Thu Feb 9 00:41:00 2006
※ 引述《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
1F:→ UNARYvvv:总有出题者搞不清楚,也总有学生从输出结果反推来猜 02/09 02:39