作业帮 > 数学 > 作业

设有说明 intx=0,y=0;则执行if(x++)y=1+x;elsey=2+x;后,变量y的值是?具体算法是?

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/05/12 07:44:16
设有说明 intx=0,y=0;则执行if(x++)y=1+x;elsey=2+x;后,变量y的值是?具体算法是?
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+x System.out.println("y=" + y) ; } }