作业帮 > 综合 > 作业

int x=0, y=1, z=2, w;if (x++){w = x;}else if (x++ && y >= 1)

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/11 11:14:36
int x=0, y=1, z=2, w;if (x++){w = x;}else if (x++ && y >= 1){w = y;}else if (x++ && z > 1){w = z;}
int x=0, y=1, z=2, w;
if (x++)
{
w = x;
}
else if (x++ && y >= 1)
{
w = y;
}
else if (x++ && z > 1)
{
w = z;
}

执行了以下程序段后x,w的值为:
int x=0, y=1, z=2, w;if (x++){w = x;}else if (x++ && y >= 1)
if (x++)//执行,但条件不满足,x+=1 x=1
{
w = x;
}
else if (x++ && y >= 1)//x=1 y>=1 条件满足,然后x+=1 x=2
{
w = y;//w=1
}
else if (x++ && z > 1)//不执行
{
w = z;
}
x=2,w=y=1
再问: 为什么最后一步不执行呢?谢谢!!!
再答: if else,依次判断,只要之前的条件满足了,之后的都不会执行,这也是计算机节省运行时间的一种方式