我应该使用这段代码
for(i=1;i<4;i++)
{
for(j=1;j,4;j++)
{
printf("Running i=%d j=%d\n", i, j);
}
}
...使用此代码将其从循环中删除
if(i==2&&j ==1){
printf("Break inner loop when i=%d and j=%d\n", i, j);
break;
}
我的教科书说在内循环块的最开始插入这个break
语句。我不知道那是哪里!我已经尝试了很多地方,但仍然无法弄明白。
这是我的整个计划:
#include <stdio.h>
int main()
{
int i,j;
for(i=1;i<4;i++)
{
for(j=1;j,4;j++)
if(i==2&&j ==1){
printf("Break inner loop when i=%d and j=%d\n", i, j);
break;
}
printf("Running i=%d j=%d\n", i, j);
}
}
return 0;
}
想出来:它有一个拼写错误
答案 0 :(得分:2)
内循环块的开头就在第二个{
的{{1}}之后:
for
请注意,for(i=1;i<4;i++)
{
for(j=1;j,4;j++)
{
// <<<--- They mean here.
printf("Running i=%d j=%d\n", i, j);
}
}
只会突破内循环。外环将再次出现。如果你需要打破两个循环,你需要添加某种标志。
注意到你的内循环中有一个拼写错误,实际上是有效的C(逗号运算符)。应该是break
:
<
答案 1 :(得分:1)
它将在你的第二个块中,所以在print语句之上或之下。考虑到变量的范围,它是唯一能够实现的地方。
答案 2 :(得分:0)
当i == 2和j == 1时,内部循环中的中断将使你脱离内部for循环,因此它不会运行函数printf("Running i=%d j=%d\n", i, j);
它继续循环,因为代码仍然需要运行循环,直到i和j都小于4。