若有定义"int x=4,y=5;”,则表达式"y>x++? x- - : y++"的值为5,为什么?
3个回答
展开全部
(y>x++)这一句的计算顺序是先比较后自增,所以答案是(5>4)值为真,所以整个式子的值等于(x--),现在来看看x的值了。
最先定义时x=4,在(y>x++)中自增一次变成5,然后又自减一次,所以x最后为4,故整个式子的值为4,希望你在检查下,最后在机器上运行下
最先定义时x=4,在(y>x++)中自增一次变成5,然后又自减一次,所以x最后为4,故整个式子的值为4,希望你在检查下,最后在机器上运行下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
y>x++? x- - : y++
如果用printf输出上式的结果printf("result = %d", y>x++? x- - : y++)
相当于
if (y>x)
{
x++;
printf("result = %d", x);
x--;
}
else
{
printf("result = %d", y);
y++;
}
如果用printf输出上式的结果printf("result = %d", y>x++? x- - : y++)
相当于
if (y>x)
{
x++;
printf("result = %d", x);
x--;
}
else
{
printf("result = %d", y);
y++;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询