有以下程序: #include #define N 4 main() { int a[N][N]={0},i,j,k; for(i=0;i

admin2020-01-10  22

问题 有以下程序:
    #include
    #define N 4
    main()
    {  int a[N][N]={0},i,j,k;
for(i=0;i{  for(j=i;j    a[j]=a[N—i一1][j]=i+1;
  for(k=i+1;k    a[k]=a[k][N—i一1]=i+1;
}
for(j=0;jprinff(“%2d”,a[1][j]);
printf(“\n”);
    执行后的输出结果是(    )。

选项 A、1 2 2 1
B、l 1 1 1
C、2 1 1 2
D、2 2 2 2

答案A

解析 本题程序需要输出二维数组a中第二行的各个元素值,即a[1]这个一维数组的元素值。分析程序可知只有在两种情况下才会对a[1]中的元素赋值:①外层for循环中i:0时,内层第二个for循环的k取值为1,此时a[k]=a[1][0]=1,a[k][N—i—1]=a[1][3]=1;②外层for循环中i=1时,内层第一个for循环的j取值为1、2,a[j]=a[1][j]=2,即a[1][1]=2,a[1][2]=2。除了这两种情况,其他情况不会修改a[1]中的值,所以最终a[1]各个元素的值为:1、2、2、1,故答案选A。
转载请注明原文地址:https://kaotiyun.com/show/QWCp777K
0

最新回复(0)