鱼C论坛

 找回密码
 立即注册
查看: 2914|回复: 7

初学者请大神指教这个问题!

[复制链接]
发表于 2014-3-3 20:42:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
QQ图片20140303203551.jpg
请大神指点这个问题,看我自己理解的对不对!
程序执行第一层,分别为k=0,k=1时符合条件,程序显示为前两行,
然后程序执行第二层,j=0,j=1时执行,在执行程序的时候第一层程序也跟着重复执行k=0,k=1;
然后第三层的时候也是这样子!
但是程序执行嵌套最里层的时候,以外的嵌套不执行,但是执行第二层的 时候,第二层以内的还要执行,以上的不执行!
我表达的有点不清楚,希望大神指点这个程序的执行是不是这个方式!还望给与清晰的指点!小弟在此谢过了!
QQ图片20140303203551.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-3-3 21:01:18 | 显示全部楼层
你这问的模模糊糊的,程序写的极不规范,让人无语凝噎。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-3-3 21:10:19 | 显示全部楼层
你可以这么想,第一层k完成循环后第二层循环j+1,第二层完成循环后第三层i+1,我们只看第三层,总共i是改变2次吧,i改变2次第二层循环2次也就是j改变2*2=4次,j改变4次也就是k改变4*2=8次。

假设有N个循环,每个循环执行N次,则总的执行次数就是N的N次方
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-3-3 22:01:01 | 显示全部楼层
我觉得这样比较清晰点

for (i = 0; i < 2; i++)
for (j = 0; j < 2; j++)
for (k = 0; k < 2; k++)

printf ("%d %d %d \n", i, j, k);

   i = 0 i < 2 成立
   j = 0 j < 2 成立
   k = 0 k < 2 成立
   输出 i j k = 0 0 0
   转到k++
   k = 1, k < 2 成立
   输出 i j k = 0 0 1
   转到k++
   k = 2 k < 2 不成立
   转到j++
   j = 1 j < 2 成立
   k = 0 k < 2 成立
   输出 i j k 0 1 0
   转到k++
   k = 1 k < 2 成立
   ...........
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-4 20:06:50 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-4 20:07:28 | 显示全部楼层
sidfate 发表于 2014-3-3 21:10
你可以这么想,第一层k完成循环后第二层循环j+1,第二层完成循环后第三层i+1,我们只看第三层,总共i是改变 ...

嗯,这种思路很简便,谢谢了哈!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-3-4 22:19:23 | 显示全部楼层
林锐的《高质量c语言编程》   关于代码格式规范,lz可以看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-5 20:27:11 | 显示全部楼层
Diu 发表于 2014-3-4 22:19
林锐的《高质量c语言编程》   关于代码格式规范,lz可以看看

好的,谢谢推荐!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-23 18:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表