一,break结束内循环如下代码1所示:
#include <stdio.h>
int main()
{
int i, j;
for (i = 0; i < 10; i++)
{
for (j = 0; j < 10;j++)
{
if (j == 3)
{
break;
}
}
}
printf("i = %d, j = %d \n", i, j);
return 0;
}
运行结果如下图:
二,break结束内外循环如代码2所示
#include <stdio.h>
int main()
{
int i, j;
for (i = 0; i < 10; i++)
{
for (j = 0; j < 10;j++)
{
if (j == 3)
{
break; //(第一个break)
}
}
if (j == 3)
{
break;//(第二个break)
}
}
printf("i = %d, j = %d \n", i, j);
return 0;
}
运行结果如下图所示:
三,break结束外循环如代码3所示:
#include <stdio.h>
int main()
{
int i, j;
for (i = 0; i < 10; i++)
{
for (j = 0; j < 10;j++)
{
if (j == 3)
{
}
}
if (j == 3)
{
break;
}
}
printf("i = %d, j = %d \n", i, j);
return 0;
}
运行结果如下图所示:
以上3串代码的结果都已显示。我不明白的是:
- 第3串代码的break为是什么没有截断第一个for,让i运行到了10?
- 如果第二个break不能截断第一个for,那为什么第二串代码中第二个break却可以结束第一个for?
- 说明上面问题之后,麻烦说一下代码2和代码3运行的细节过程,谢谢!因为初学所以想了解更细致一点。
求有缘人详细解答一下!