C 打破';对于';环
我应该用这个密码C 打破';对于';环,c,loops,for-loop,break,C,Loops,For Loop,Break,我应该用这个密码 for (i=1; i<4; i++) { for (j=1; j, 4; j++) { printf("Running i=%d j=%d\n", i, j); } } 我的课本上说在内部循环块的最开始插入这个break语句。我不知道那在哪里!我已经试过很多地方了,但还是想不出来 以下是我的整个计划: #include <stdio.h> int main() { int i, j; for (i
for (i=1; i<4; i++)
{
for (j=1; j, 4; j++)
{
printf("Running i=%d j=%d\n", i, j);
}
}
我的课本上说在内部循环块的最开始插入这个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;
}
#包括
int main()
{
int i,j;
for(i=1;i它将位于第二个for块中,因此在print语句的上方或下方。它是给定变量范围的唯一位置。内部循环块的开始位于第二个{
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);
}
}
当i==2和j==1时,内部循环中的中断将使您脱离内部for循环,因此它不会运行函数printf(“运行i=%d j=%d\n”,i,j);
它正在继续循环,因为代码仍然需要运行循环,直到i和j都小于4。就在printf
语句之前和{
之后,还有2个{
和3个}
必须匹配。@paddy您刚刚用格式(不匹配的大括号)修复了一个错误:)你确定标题中的C#,巴德?printf和%d在我看来不像C#。哈哈@比尔-我可能是无意中这样做的。最初的问题太混乱和令人讨厌了,我可能只是认为代码是正确的。但是的,我模糊地记得看到了3个右括号。请注意,你的内心状态是j,4
<代码>用于循环(第3行),您可能打算使用jyeah,我试过它只是一直循环,它一直循环,因为您的内部循环条件只检查j
是否为非零。我最好为您解决这个问题。@user2359407:您读过printf语句中的文本了吗?它只会打破内部循环还有另一种打破bot的方法这就是使用匿名方法。将循环放在匿名方法中并返回,而不是中断。它将返回到当前方法并继续。如果这是c#…并且显然是重新命名的,则假设这实际上是c#。但对我来说,它看起来像c。不,我不建议使用goto
。不要使用goto(所有大写字母强调我的声明):)不确定j,4是否是有效条件,是的,逗号引入了一个序列点,但我想知道编译器如何处理j,4…在ipad上,不能check@Bill:goto
是在C语言中打破嵌套循环和处理错误的最佳选择。当然,当有更好的选择时,不要使用它,但全面禁止是愚蠢的。
for(i=1;i<4;i++)
{
for(j=1;j,4;j++)
{
// <<<--- They mean here.
printf("Running i=%d j=%d\n", i, j);
}
}
for(j=1;j<4;j++)