for (int j=1; j<path.size(); j++) {
//do something
for (int z=0; z<path.size(); z++) {
//do something
}
break;
}
内部循环可以从0循环直到它到达路径大小的末尾,但外部循环只是继续给我j=1
而不是像inter循环那样进行增量。
两个循环如何同时进行增量?我试图删除break;
但z
循环到path.size()
次。
答案 0 :(得分:2)
尝试使用和不使用break
for (int j=1; j<5; j++) {
printf("j=%d\n",j);
for (int z=0; z<5; z++) {
printf("z=%d\n",z);
}
break; // next time try to remove this break
}
你可能会受到启发。
如果你想要j和z并行计数,你可能想要这样的东西
for (int j=1, z= 1; j<5; j++, z++) {
printf("j=%d\n",j);
printf("z=%d\n",z);
}
答案 1 :(得分:2)
内循环完全针对外循环的每次迭代执行,这就是为什么你看到z
循环path.size()
次。在此之后,由于break
,循环停止,因此它不会再次在外循环上迭代。因此,即使外循环的条件仍然正确,它也不会检查它,因为你正在打破循环。
答案 2 :(得分:1)
for(int j = 1 ; j < path.size() ; j++){
do something
for (int z = 0 ; z < j ; z++){
do something
}
我认为这就是你正在寻找的东西