还是2因为或运算符有短路求值嘚特性,前面一个条件只要为真就不计算第二个了程序执行了x=5的操作后,x被赋值5然后把5返回给或运算符判断,因为5 >0返回为真,或运算符就短路求值而不计算y=6*x这个赋值表达式y还是2。
你对这个回答的评价是
楼主,你要注意,prt(a,b) 是“宏”,不是函数.
因此,原始代码看起来很迷惑人的!
因为在编译前,是要进行宏替换的,因此,我们先看看宏替换之后的代码:
//这样仍然有点“迷惑人”
最终结果,就是x和y的值都为 0 了.
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。