帮我分析一下这个式子,谢谢了,辛苦了

来源:百度知道 编辑:UC知道 时间:2024/05/29 07:31:12
int i,j,x=0;
static int a〔8〕〔8〕;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
a〔i〕〔j〕=2*i+j;
for(i=0;i<8;i++)
x+=a〔i〕〔j〕;
printf("%d",x);
===============================================
最重要是这两部,没看懂
a〔i〕〔j〕=2*i+j;
x+=a〔i〕〔j〕;
i已经定义了,为什么后来还会有for语句?

for(i=0;i<3;i++)
for(j=0;j<3;j++)
a〔i〕〔j〕=2*i+j;
这三句执行完了之后, j 的值为4,所以
for(i=0;i<8;i++)
x+=a〔i〕〔j〕;
这两句实际执行的是
for(i=0;i<8;i++)
x+=a〔i〕〔4〕;

先前只是定义了a[i][j],后面for语句是定义x的,应为最后输出的是要打印x