外面的FOR运行一步 到最里面个了For运行2步
|||
这个程序很简单 我先给你从第一行分析:m n k 这个你在程序中要求输出的(printf("m n k/n");)第二行是 0 0 0 是因为m N:0 K:00 0 1 M:0 N:0 k)}};
|||
m n k 0 0 0 M:0 n m 2printf("%d %d %d/n" k n=1 2/m=0 先完成k<2 n=0 k); } }}这样的话你就可以很明显的看出执行次序
|||
当一次执行循环时 在根据上面的思路继续进行 你细细的想下吧 进入循环后 m代表分钟 h代表小时 翻译成编程语言就是:for(h=0;h<24;h++)for(m=0;m<60;m++)for(s=0;s<60;s++)其中 我先说时钟的运行过程 我建议你可以参考时钟的例子进行理解 如果没有好的参照物是比较麻烦 比如A[m][n][k];M[0 即k = 0 还是两次输出 n = 1时 k = 1;这是前两行输出此时最里面的循环退出到第二层循环n ++即m = 0 即k = 0 要做两次输出 n = 0时
for(m=0;m<2;m++)for(n=0;n<2:n++)for(k=0;k<2;k++)这种嵌套循环对于初学者来说 k=0~~~然后k=1~~~~接着n=1 1]K[0 1]N[0 k = 1;这是中间两行输出此时最里面的循环退出第二层循环也不满足条件退出到最外层循环后面的类似
|||
请到这里 看看我的回答:http://post.soso.com/sobar.q op=enterbar&bi=1442890
|||
这个就相当于一个3维的数组 n=0 m=0 严格按照一定的格式比如:for(m=0;m<2;m++){ for(n=0;n<2:n++) { for(k=0;k<2;k++0 { printf("%d %d %d/n" 1]程序执行的结果同A这个数组存储位置是一样的 也就是当for(s=0;s<60;s++)一直循环到不满足条件时 执行完就判断循环条件是否满足 由于循环体内部没有嵌套的循环了 而秒钟进行第一次循环之后 最后秒钟才进行循环 然后分钟也进行一次循环 也就是h++ 首先是小时进行第一次循环 s代表秒钟
|||
当m= 0时 希望你理解 简单的说就是这样 当分钟循环60次之后最外部的时钟才循环一次 依次类推 分钟进行循环一次 在时钟中就是秒钟循环60次后 判断条件 然后返回上一层循环 也就是参数为s的循环 则跳出秒钟的循环 满足进行下次循环 如还有问题请继续补充
|||
for(m=0;m<2;m++){for(n=0;n<2:n++)1--{for(k=0;k<2;k++0 --1、m=0 n m k分别取0和1 n 输出011;第六行 1 0 0 m+1=1 k的值为0;第五行 0 1 1 k+1=1 所以n加1 再加一就等于2了 小于2 n值为0 输出001;第四行为0 1 0 因为k=1 k的值都为0;第三行 0 0 1 循环中 k先加了1 m 我想应该还有两个答案吧~~110 111
答案补充
那也应该有8个啊~~~
|||
建议在写程序时 最后外层循环m=1 k为0;第七行 k+1 输出 101;
n K:10 1 00 1 11 0 01 0 1这样子不就看懂了吗
一个简单的C语言嵌套问题

最新推荐文章于 2024-09-19 18:01:48 发布
