以下程序的输出结果是( )。 #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<=i0++) s+=a[i][a

admin2021-07-09  27

问题 以下程序的输出结果是(    )。
#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<=i0++)
s+=a[a[j][j];
printf("%d\n",s);
}

选项 A、3
B、4
C、1
D、9

答案B

解析 当外层循环为i时,内层循环j只能取j=i,所以s+=a[a[j][j]],其实就是s+=a[a],当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。
转载请注明原文地址:https://kaotiyun.com/show/GYtp777K
0

最新回复(0)