总的原则如下:
1.外层判断循环条件,满足进入外层循环体
2.内层判断循环条件
3.内层循环体执行
4.内层循环变量累加,回到2执行,直到不满足内层条件
5。外层循环变量累加,回到1执行,直到不满足外层循环条件,彻底退出循环
例子:
题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
为了显示执行流程,增加了多余的打印,如下:

可以看到,i先取值为1,然后j取值1,开始循环最内层的循环,k一直从1取值到4;
然后第一次退出k的循环,此时j取值2,再进入最内层循环,k一直从1取值到4,如此循环直到j取值到4,跳到最外层开始循环i;
也就是说:
最外层的i只是从1取到4,一共取值4次;
第二层的j在每次i取值时循环一遍,也就是4*4=16次取值;
最内层的k则是4*4*4=64次取值;

总结循环流程如下:
当i = 1时:
j = 1,k从1取到4;
j = 2,k从1取到4;
j = 3,k从1取到4;
j = 4,k从1取到4;
当i = 2时:
j = 1,k从1取到4;
j = 2,k从1取到4;
j = 3,k从1取到4;
j = 4,k从1取到4;
当i = 3时:
j = 1,k从1取到4;
j = 2,k从1取到4;
j = 3,k从1取到4;
j = 4,k从1取到4;
当i = 4时:
j = 1,k从1取到4;
j = 2,k从1取到4;
j = 3,k从1取到4;
j = 4,k从1取到4;
网友评论