给衣服和裤子配色
char yifu [] = {"蓝色","黑色"}
char kuzi [] = {"黑色","牛仔色"}
这时候, yifu[0] 就代表蓝色了, yifu[1]就代表黑色了
for ( i =0 ; i<=1;i++)
{
for(j=0;j<=1;j++)
}
到此为止,两个for循环,先进行第一个for循环,给i取一个值,i固定这个值不动,遍历完j的取值,再改变i的取值,再遍历j的取值
简单理解:两个for循环可以解决排列组合问题
知识:
for中的条件判断不成立的时候,循环才算完成,跳出循环,否则跳不出
执行顺序是
假如2和5成立: 1 2 4 5 6 5 A 6 5 A 6 5 A 6 5 A 6
直到5不成立: 5不成立才第一次执行3
小结:只有for循环控制的语句执行完毕之后,才会重新回到循环,处理计数器
如果5一直成立,那么第一个for循环控制的语句就一直不会结束,那么就一直不会回到第一个循环
例子1:假设控制的部分可以卷起来,下列例子有几行
for(4;5;6)
A;
被卷起来了
剩下for(1;2;3) ..
B;
所以有本质上这只有两个语句
例子2:假设控制的部分可以卷起来,下列例子有几行
for(4;5;6)
{
A;
B;
}
被卷起来
只剩下for(1;2;3) ..
所以只有一个语句
例子3:假设控制的部分可以卷起来,下列例子有几行
只剩下for(7;8;9)
例子4:假设控制的部分可以卷起来,下列例子有几行
答:卷起来后只剩下for (i=-1;i<2;i++)..
相当于下面的操作都是在i=-1的基础上执行的,下面的都执行完毕,计数器i的值才发生改变
先定住i,进行下面的操作. 下面的操作全部结束之后,再改变i
例子5: i 从 1 取 到3 ; j 从 1 取 到 2
打印出a[i][j]的所有可能
for(int i = 1;i<=3;i++)
{
for(j=1;j<=2;j++)
{
printf("%d ",a[i][j]);
}
}
结果就是 a[1][1] a[1][2]
原文:https://www.cnblogs.com/chrr/p/12366606.html