
i%3如果为0是不是就不执行continue那个while(!i)是怎么看呢?
i本来不是0 !i是0吗?
请解释一下流程谢谢

一层一层看
i从2开始,i<5,所以i取值2,3,4
内层循环,while(!i),由于i始终大于0,所以!i一直返回0,这就是个迷惑项,不用管它
因为是do,while循环,至少执行一次,所以你把do。。。while删掉就行了,就是执行一次
相当于每次循环执行两次n++
那么再分析到i%3,就需要从头分析了
当i==2时,执行了continue,那么while循环里的n++就不会执行了,只执行后面的n++
当i==3时,没有执行continue,所以执行2次n++
当i==4时,又执行了conitnue,所以只执行一次n++,一共执行了4次,n初始是0,执行4次n++,所以最终n的值是4