程序main() {int x=0,y=5,z=3;while(z-->0&&++x <5)y=y-1;printf("d,%d,%d\n",x,y,z); }求答案
答案是3,2,-1请问为什么不是3,2,0还是有个疑问,就是当z=0的时候,就不满足z>0了啊,不就应该跳出循环了吗,为什么还要执行z-1呢...
答案是3,2,-1请问为什么不是3,2,0
还是有个疑问,就是当z=0的时候,就不满足z>0了啊,不就应该跳出循环了吗,为什么还要执行z-1呢 展开
还是有个疑问,就是当z=0的时候,就不满足z>0了啊,不就应该跳出循环了吗,为什么还要执行z-1呢 展开
3个回答
展开全部
因为最后一次(也就是当z已经等于0的时候)while(z-->0 && ++x<5)判断完后,无论是真是假,z都会自减1,至于‘&&’刚是前一部分为假 ,后半部分就不用会再执行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有个z--,最后会减一,至于‘&&’刚是前一部分为假 ,后半部分就不用会再执行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询