黑马程序员技术交流社区

标题: 关于do{...}while();的问题 [打印本页]

作者: 謝寶劍    时间: 2012-3-17 17:17
标题: 关于do{...}while();的问题
int x=1,y=10;
do{
    if(x++>--y)
    continue;
}while(x<5);
运行后为什么x=5;y=6;
作者: 刘_浩    时间: 2012-3-17 17:24
你认为是不是4,6?其实在这个时候 ,是这样理解的。但是马上x++还有一步要执行,就是自身还要加一次1,所以是5,6.
作者: zhouxp3323    时间: 2012-3-17 17:26
do{...}while{...}就是无论while条件成立否,do都会执行一次的。x++>y--,首先是1>9,然后x为2,接着2>8,x为3,然后3>7,x为4,然后4>6,x为5,结束循环,因为while里面是x<5,所以循环结束,x的值为5,y的值为6
作者: 黑马肖凯骏    时间: 2012-3-17 17:40
你应该弄明白 x++ 和--y的区别

x++  --y
1         9
2         8
3         7
4         6
5         5 执行到这里的时候不成立,但是此时的y还是6 因为--y之后才是5 条件不成立,所以就不会减到5再判断 所以还是6




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2