夜间安全驾驶教案:大家帮我看看中间这句循环语句如何理解?

来源:百度文库 编辑:神马品牌网 时间:2024/04/27 23:58:12
#include"stdio.h"
main()
{
int i,j;
for(i=0;i<4;i++)
{
for(j=0;j<=2-i;j++) /* 不理解为什么在第一行会输出3个"***" */
printf("*");
printf("\n");
}
}

运行结果是
***
**
*

因为在第一个for循环中,i=0时,就进入第二个for循环.因为此时i=0;所以第二个fof循环就变成了,
for(j=0;j<2;j++).在这个循环中,j每加一次就输出来*;所以输出三个,
当这个循环做完了,就退出这个循环.去做第一个循环,执行i++;后,就是i=1;时,进入第二个for 循环.这时,就变成了for(j=0;j=2-i=1;j++).所以输出二个*;

楼上正解。
补充一下,for(j=0;j<2;j++)的循环体是循环三次的,0,1,2,一共三次