问题 单项选择题

以下程序的输出结果是______。
#include<stdio.h>
main()
int a[3][3]=0,1,2,0,1,2,0,1,2,i,j,s=1;
for(i=0;i<3;i++)
for(j=i;j<=i;j++)
s+=a[i][a[j][j]];
printf("%d\n",s);

A.3
B.4
C.1
D.9

答案

参考答案:B

解析: 当外层循环为i时,内层循环j只能取j=i,所以s+=a[i][a[j][j]],其实就是s+=a[i][a[i][i]],当i=0时,s=s+a[0][a[0][0]]=s+a[0][0]=1,当i=1时,s=s+a[1][a[1][1]]=s+a[1][1]=1+1=2,当i=2时,s=s+a[2][a[2][2]]=s+a[2][2]=2+2=4。

选择题
单项选择题