[求教] 设有 int x =11;则表达式(x++*1/3)的值是????
本题只是写着 x++返回11,这里的除法是整除。 值是 3。我的想法是 " * " " / "是 比 x++ 要先运算
1.(x++*1/3)
2.(x++/3)
3.((11/3)+1)
4.值是 4。
----------------解决方案--------------------------------------------------------
11/3=3
by 雨中飞燕 QQ:78803110 QQ讨论群:5305909
[url=http://bbs.bc-cn.net/viewthread.php?tid=163571]请大家不要用TC来学习C语言,点击此处查看原因[/url]
C/C++算法习题(OnlineJudge):[url]http://yzfy.org/[/url]
----------------解决方案--------------------------------------------------------
x++ 不是要+1的吗??
----------------解决方案--------------------------------------------------------
是先运算后加1,如果是++x,那就是4了!~
----------------解决方案--------------------------------------------------------
3
----------------解决方案--------------------------------------------------------
(x++*1/3) 这是编译器的策略:首先把表达式翻译成:11*1/3 ,等到表过式计算结束后再将x自加一
(++x*1/3) 编译器的策略:首先把x自加一,然后现把表达式翻译成:12*1/3
编译器不会在表达式的计算过程中来对x自加一,这会给编译器的翻译带来极大的困难.
----------------解决方案--------------------------------------------------------
i++是i运算然后再加1,++i是i先加1再运算
----------------解决方案--------------------------------------------------------
哦,我也懂了
----------------解决方案--------------------------------------------------------