第一句:定义整形数组:a[0][0]=1,a[0][1]=2,a[0][2]=0;
a[1][0]=3,a[1][1]=4,a[1][2]=0;
a[2][0]=5,a[2][1]=6,a[2][2]=0;
定义整形变量:i,j;(未赋初值) s=0;
首先,循环体确定:
for(i=1;i<3;i++) //一级循环
{
for(j=0;j<=i;j++) //二级循环
{
s+=a[i][j];
}
}
当i=1时,i<3成立,执行后续操作,即:j=0,j<=1成立,执行s=s+a[1][0]=0+3=3;
j=1,j<=1成立,执行s=s+a[1][1]=3+4=7;
j=2,j<=1不成立,结束二级循环,这时回到一级循环的i++语句执行,即:i=2;
当i=2时,i<3成立,执行后续操作,即:j=0,j<=2成立,执行s=s+a[2][0]=7+5=12;
j=1,j<=2成立,执行s=s+a[2][1]=12+6=18;
j=2,j<=2成立,执行s=s+a[2][2]=18+0=18;
j=3,j<=2不成立,结束二级循环,这时回到一级循环的i++语句执行,即:i=3;
当i=3时,i<3不成立,结束一级循环。
执行printf("\n%d",s);
即打印18
追问那些0+3 3+4 7+5怎么来的啊