55智能网
新记
若有定义int a=1,b=2,c=3;则执行表达式(a=b+c)||(++b)后a,b,c的值
我想要解题的过程,那个式子怎么看
举报该文章
相关建议 2019-10-26
我用
gcc
3.4.2
和
vc
6.0
编译后的结果都是5,2,3
因为
||
号,只执行了前面的部分,a=b+c
已经返回了结果“真”,所以没有执行
++b
部分的。
很可能是编译器进行了优化的结果。
不知道你用的编译器是什么。
温馨提示:内容为网友见解,仅供参考
当前网址:
https://55.aolonic.com/aa/cg8eeeelfrf8e88qlf.html
其他看法
第1个回答 2019-03-11
1。
b+c=5
将
5
赋值
给
a
2.
a
=5
为真
||
短路或
所以不执行
++b
b
依然为2
所以
有
a=5
b=2
c=3;
相似回答
大家正在搜
相关问题
若有定义int a=1,b=2,c=3则执行表达式(a=b+...
若有定义:int a,b; 则表达式(a=2,b=5,a*2...
若有定义int a=1,b=2,c=3;则执行表达式(a=b...
若有定义int a=1,b=2,c=3则执行表达式(a=b+...
int a=1,b=2,c=3; 执行表达式(a=b+c)|...
设int a=1, b=2 , c=3; 执行表达式(a>b...
若有int a=1,b=2,c=3,d=4;则执行表达式a&...
设int a, b=2, c=3;执行表达式a=(b<c)?...