这个怎么分析 C语言

来源:百度知道 编辑:UC知道 时间:2024/06/05 16:40:56
下面程序的输出结果是__6__。
#include <stdio.h>
main( )
{ int n[3][3], i, j;
for(i=0;i<3;i++ )
for(j=0;j<3;j++ )
n[i][j]=i+j;
for(i=0;i<2;i++ )
for(j=0;j<2;j++ )
n[i+1][j+1]+=n[i][j];
printf("%d\n", n[i][j]);

执行以下语句后
for(i=0;i<3;i++ )
for(j=0;j<3;j++ )
n[i][j]=i+j;
使数组元素的值为其下标之和
数组的值:
0 1 2
1 (2)(3)
2 (3)(4)

再执行以下语句后
for(i=0;i<2;i++ )
for(j=0;j<2;j++ )
n[i+1][j+1]+=n[i][j];
将数组的带括号的元素加上它左上角的元素的值
数组的值
0 1 2
1 2 4
2 4 6
i,j 的值为2
那么n[i][j]=n[2][2]=6

前面两个for的结果是数组元素的值为其对应下标的和
后面两个for的结果是数组元素的值为其本身与数组矩阵左上角那个元素的和,过程如下
012
123
234

012
124
246

012
124
246
自己在纸上一条一条写下来就 看出来了.