急!!!C语言数组小问题提问
有如下程序
main ()
{ int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;
for(i=1;i<3;i++)
for(j=0;j<i;j++)
s+=a[i][j];
printf(“%d\n”,s);
} 该程序的输出结果是
我做出是9,答案是14,请详细讲解
参考答案:main ()
{ int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;
/*这样写好理解点吧!*/
for(i=1;i<3;i++) /*外循环*/
{ for(j=0;j<i;j++) /*内循环*/
{ s+=a[i][j];}
}
printf(“%d\n”,s);
}
数组:
1 2 0
3 4 0
5 6 0
对吧?
双重for语句(枚举一下吧!呵呵!):
外循环就两次:
当i=1,j=0 => s+=a[1][0] => s=3
当i=2,j=0 => s+=a[2][0] => s=8
i=2,j=1 => s+=a[2][1] => s=14