level 8
xiuliinlove
楼主
mudlib源码中经常有一些if条件判断语句,对于字符串的判断还好说,不存在包含问题。但是对于数字的判断语句我就头大了,数字判断存在包含的问题,经常把我绕得晕头转向,比如i=15,那么i同时满足i<20和i<30,我就弄不清具体是怎么执行的了……
请看下面四个代码片段:
1、if (i<10) x=1;if (i<20) x=2;if (i<30) x=3;
2、if (i<30) x=3;if (i<20) x=2;if (i<10) x=1;
3、if (i<10) x=1;else if (i<20) x=2;else if (i<30) x=3;
4、if (i<30) x=3;else if (i<20) x=2;else if (i<10) x=1;
当i=15时,以上四段代码里的x分别取值多少?
先说下我研究了N长时间后的自己的理解:
1、15<20,x=2;15<30,x=3 最后3覆盖2,x=3
2、15<30,x=3;15<20,x=2 最后2覆盖3,x=2
3、15<20,x=2;后面是else,百度了一下说else前面的执行了就不往后执行了,所以我认为x=2
4、15<30,x=3;后面是else,所以x=3
请教我对上面代码的理解是否有误,求正确指导。
2014年09月05日 05点09分
1
请看下面四个代码片段:
1、if (i<10) x=1;if (i<20) x=2;if (i<30) x=3;
2、if (i<30) x=3;if (i<20) x=2;if (i<10) x=1;
3、if (i<10) x=1;else if (i<20) x=2;else if (i<30) x=3;
4、if (i<30) x=3;else if (i<20) x=2;else if (i<10) x=1;
当i=15时,以上四段代码里的x分别取值多少?
先说下我研究了N长时间后的自己的理解:
1、15<20,x=2;15<30,x=3 最后3覆盖2,x=3
2、15<30,x=3;15<20,x=2 最后2覆盖3,x=2
3、15<20,x=2;后面是else,百度了一下说else前面的执行了就不往后执行了,所以我认为x=2
4、15<30,x=3;后面是else,所以x=3
请教我对上面代码的理解是否有误,求正确指导。