A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

/*
相信++a和a++很多人都已经理解,但当它们尤其是a++作为循环的条件时,就不知道代码执行顺序
*/

int a=0;

while(++a<1){}a先++ 再做判断,由于a自增后为1 !<1,所以循环不执行,这个好理解

A:   while(a++<1){}//这个先判断a<1,再执行或不执行{}里的代码,最后在++,结果a值为1
//我开始在理解A句时,就卡在a++<1里:思路如下:
//(第一步:执行a<1    第二步:执行a++   第三步:再执行 a<1。第四步:是否执行循环
//所以循环不会执行,但为什么执行了?所以自作聪明理解成可把A拆开成B句:

B:   while(a<1){a++;}//这个循环不执行,所以里面的代码也不执行,故a值任为0

//所以while(a++) 和while(a){a++;}是有区别的
//应该有很多人和我一样吧?

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马