为什么在c++中if(x=y) i--; 是对的
4个回答
展开全部
if (x = y) i--;
会先把 y 的值赋给 x,然后判断 x 是否等于 0. 如果等于 0,判断为假,i-- 不执行。
如果 x 不等于0,为真, 执行 i--。
会先把 y 的值赋给 x,然后判断 x 是否等于 0. 如果等于 0,判断为假,i-- 不执行。
如果 x 不等于0,为真, 执行 i--。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个就相当于 if (x=y) {i--;}
不过如果想表达x等于y这个意思的话,应该是 if (x==y) i--;才对。x=y是把y的值赋给x
不过如果想表达x等于y这个意思的话,应该是 if (x==y) i--;才对。x=y是把y的值赋给x
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这里主要是&&是短路与,就是判断&&两边的表达式,只要是它左边的表达式为0,即为假,
那么右边的表达式就会被“短路”,也就是不会执行。因此k=y-z是没有被执行到的,k还是原来
的值,也就是0.
那么右边的表达式就会被“短路”,也就是不会执行。因此k=y-z是没有被执行到的,k还是原来
的值,也就是0.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询