虽说是多层,事实上 for 循环嵌套的层数也不能太多。通常为两个 for 循环的嵌套,超过两个的极少使用。
与单个 for 循环相比,多个 for 循环的嵌套在逻辑上更复杂一点,但并不难懂。
直接给大家写一个程序:
#include <stdio.h>
int main(void)
{
int i, j;
for (i=0; i<4; ++i)
{
printf("问世间情是何物, 直教生死相许\n");
for (j=0; j<3; ++j)
{
printf("两情若是久长时, 又岂在朝朝暮暮\n");
}
}
return 0;
}
输出结果是:
问世间情是何物, 直教生死相许
两情若是久长时, 又岂在朝朝暮暮
两情若是久长时, 又岂在朝朝暮暮
两情若是久长时, 又岂在朝朝暮暮
问世间情是何物, 直教生死相许
两情若是久长时, 又岂在朝朝暮暮
两情若是久长时, 又岂在朝朝暮暮
两情若是久长时, 又岂在朝朝暮暮
问世间情是何物, 直教生死相许
两情若是久长时, 又岂在朝朝暮暮
两情若是久长时, 又岂在朝朝暮暮
两情若是久长时, 又岂在朝朝暮暮
问世间情是何物, 直教生死相许
两情若是久长时, 又岂在朝朝暮暮
两情若是久长时, 又岂在朝朝暮暮
两情若是久长时, 又岂在朝朝暮暮
=============
其实,多层 for 循环嵌套的执行过程与单个 for 循环的执行过程是一模一样的。多层 for 循环的嵌套只不过是将单个 for 循环大括号中的“语句”换成了 for 循环而已。
下面看看上面程序中两个 for 循环嵌套是怎么执行的。
1) 首先求解表达式 1,即给变量 i 赋初值,i=0;表达式 1 只执行这一次,下面都不会再执行了。
2) 然后求解表达式 2,即 0<4 成立,则执行 for 循环中的内嵌语句ÿ