作业帮 > 综合 > 作业

若有定义int a=1,b=2,c=3则执行表达式(a=b+c)||(++b)后a.b.c的值依次是?为什么答案是5 2

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/10/03 00:11:05
若有定义int a=1,b=2,c=3则执行表达式(a=b+c)||(++b)后a.b.c的值依次是?为什么答案是5 2 3,我自己做的是5 3 3
我用 GCC 3.4.2 和 VC 6.0 编译后的结果都是5,2,3
因为 || 号,只执行了前面的部分,a=b+c 已经返回了结果“真”,所以没有执行 ++b 部分的.
很可能是编译器进行了优化的结果.
不知道你用的编译器是什么.