若有定义int a=1,b=2,c=3则执行表达式(a=b+c)||(++b)后a.b.c的值依次是?为什么答案是5 2 3,我自己做的是5 3 3
人气:356 ℃ 时间:2020-04-04 19:07:55
解答
我用 GCC 3.4.2 和 VC 6.0 编译后的结果都是5,2,3
因为 || 号,只执行了前面的部分,a=b+c 已经返回了结果“真”,所以没有执行 ++b 部分的.
很可能是编译器进行了优化的结果.
不知道你用的编译器是什么.
推荐
- 若有定义:int b=7;float a=2.5,c=4.7;则下面的表达式 a+(int)(b/3*(int)(a+c)/2)%4 的值
- 若有定义:int a=3,b=2,c=1;并有表达式:①a%b,②a>b>c,③b&&c+1,④c+=1,则表达式值相等的是哪两个?
- 若有定义int a=1,b=2,c=3;则执行表达式(a=b+c)
- 若有定义:int a=3,b=2,c=1,k; 则表达式k=a>b>c的值是
- 若有定义 int a=1,b=2; 那么表达式(a++)+(++b) 的值是?
- 1.小明读一本书,已读的和未读的比是2:7,若再读44页,则已读的页数和未读的页数的比为3:5,那么这本书
- 强碱弱酸混合,完全反应与完全中和 区别是什么 完全中和PH为什么不是7
猜你喜欢