for循环中,使用continue 和 goto命令的BUG 1、continue 在for循环中套个for内循环,在内循环中使用continue,会出现异常死循环. 示例代码: int continue_Bug() { int i,m; for(i=0;i<2;i++) { for(m=0;m<15;m++) { usleep(200); dbg("当前i:"+i+" m:"+m); if(m>1) { continue; } dbg("当前m:"+m); } } } 2、goto 在for循环中套个for内循环,在内循环中使用goto命令跳到外循环某标签label 处,外循环直接无效,直接就在标签label 处向下执行到外循环外面了。 示例代码: int go_Bug() { int i,m; for(i=0;i<20;i++) { for(m=0;m<15;m++) { if(m>2) { goto end; } dbg("当前m:"+m); } label end: dbg("当前i:"+i); } } |