美白针打了两针:这个c的输出结果为啥是这样的

来源:百度文库 编辑:神马品牌网 时间:2024/04/28 14:10:52
main()
{
int i,j,k;
for(i=0;i<3;i+=2)
for(j=0;j<3;j+=2)
for(k=0;k<3;k+=2)
printf("%d%d%d\n",i,j,k);
}

输出结果为什么是
000
002
020
022
200
202
220
222

能把计算机是怎么样算得步骤告诉我吗?
就是
000是怎么样出来的
002是怎么样出来的
020是怎么样出来的
一直到
222分别是怎么出来的 我搞不懂

//初始化,全为0
i=0 j=0 k=0
//k+2
i=0 j=0 k=2
//k清零,j+2
i=0 j=2 k=0
//k+2
i=0 j=2 k=2
//j,k清零,i+2
i=2 j=0 k=0
//k+2
i=2 j=0 k=2
//k清零,j+2
i=2 j=2 k=0
//k+2
i=2 j=2 k=2

for(i=0;i<3;i+=2) {
for(j=0;j<3;j+=2) {
for(k=0;k<3;k+=2) {
printf("%d%d%d\n",i,j,k);
}
}
}
只有里面的for循环结束才会执行上一层的循环

i+=2是i=i+2的另一种简单的表示方法!
就说到这……再不懂就去好好看看书吧。都是最基本的东西,一看就明白了。
主要是for循环语句,呵呵

先执行第一个FOR 此时 I=0;
在执行第二个FOR 此时 J=0;
在执行第三个FOR 此时 K=0;
结果:000
K+=2后,依然满足K<3的条件,继续打印
结果:002
K+=2后,此时不满足K<3的条件,于是跳出K的循环,充J的循环继续往下走,而此时J已经变成了2
打印结果:020;
基本原理就是这样的

先执行第一个FOR在执行第二个FOR在执行第三个FOR,在把第三个FOR运行结束后,在执行第二个FOR最后在返回执行第一个FOR

看来楼主的C语言还没入门,哈哈哈