设有说明 intx=0,y=0;则执行if(x++)y=1+x;elsey=2+x;后,变量y的值是?具体算法是?
人气:277 ℃ 时间:2020-05-13 07:10:27
解答
y=3
x++表示“先用后加”
if(x++)y=1+x; 因为x=0 ,所以这一步跳过,但是执行完这一步,x变为1
elsey=2+x;成立,y=2+x被执行,所以y=3为什么x=0时 这一步跳过啊实际上应该写成if(x++==1)y=1+x; 但是就算法而言。一般 0 被当作false ,而非0被认为是 true我在我本机上用java测试,public class test{public static void main(String[] arg){int x=0 , y= 0 ;if(x++ = 1) y=1+x;else y=2+xSystem.out.println("y=" + y) ; }}
推荐
猜你喜欢
- 昆虫不同形态的足在于各自结构组成上的共同特点
- You'are old enough to _______ your own living.
- 下列化学反应中,与实验事实不符的是( ) A.铁与硫酸铜溶液反应得到铜 B.铁与稀硫酸反应放出氢气 C.铁与稀盐酸反应得到氯化铁 D.铁在氧气中燃烧生成四氧化三铁
- 电子从基态跃迁到激发态,速度有v1,v2,v3,且v1
- 已知1/a-1/b=3,求分式2a+3ab-2b/a-ab-b的值
- 如图,圆O的半径为R,弦AB=a,弦BC平行OA,求AC
- 如图,圆O的半径为4CM,弦AB的弦心距OM为2CM,C D分别是劣弧
- 中国应对濒临灭绝动物的办法\措施