C语言。。。。。。 分 分 分

来源:百度知道 编辑:UC知道 时间:2024/05/14 18:05:16
main()
{
int i,j;
printf("i j\n");
for(i=0;i<2;i++)
for(j=0;j<3;j++)
printf(%d %d\n",i,j);
}
输出结果为:
i j
0 0
0 1
0 2
1 0
1 1
1 2
我是一个初学者。。。。。。。 谁能告诉我 这个为什么??? 谢谢了 急~~~

程序执行的是一个嵌套循环,循环开始时程序先执行for(i=0;i<2;i++)此时i=0 然后接着执行for(j=0;j<3;j++) 接着往下走此时i=0,j=0,输出的结果是0 0
接着程序返回到for(j=0;j<3;j++) 这个循环当中,再次执行printf(%d %d\n",i,j);时i=0,j=1;一直到到最后一次j=3,但此时j不小于3故不执行下面的printf(%d %d\n",i,j); 循环接着又返回到了for(i=0;i<2;i++)上执行i++此时i的值变为了1,接着又到了for(j=0;j<3;j++)这个循环,首先将j初始化为j=0依次往下走直到再次j=3最后i=2时退出整个循环,程序执行完毕!

main()
{
int i,j;
printf("i j\n");
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
printf(%d %d\n",i,j);

}
}
}
这样写和你的是一样的,比较麻烦,但适合初学的,理解起来比较容易。

一个二重循环。每次输出i,j的值并换行