以下程序运行后的输出结果是【 】。 main() { int i,j,a[][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++) for(j=i+1;j<3;j++)a[j][i]=0;

admin2009-04-15  29

问题 以下程序运行后的输出结果是【  】。
   main()
   { int i,j,a[][3]={1,2,3,4,5,6,7,8,9};
     for(i=0;i<3;i++)
     for(j=i+1;j<3;j++)a[j]=0;
     for(i=0;i<3;i++)
   { for(j=0;j<3;j++)printf("%d",a[j]);
     printf("\n");
   }
   }

选项

答案1 2 3 0 5 6 0 0 9

解析 数组是用于按顺序存储同类型数据的数据结构,如果有一个一维数组,它的每一个元素是类型相同的一维数组,就形成了一个二维数组。在内存中数组的元素是连续顺序存放的,对二维数组来说,先存放第一行,再存放第二行,…,因为每一行都是其广义一维数组的元素,并且在给出全部数组元素的初值后,二维数组的定义中可以将第一维的下标省略。本题中,定义了一个元素类型为整型的二维数组a[][3]={1,2,3,4,5,6, 7,8,9},它相当于一个3*3的矩阵,for(i=0;i<3;i++)for(j=i+1;j<3;j++)a[j] =0;将行下标i大于列下标j的元素a[1][0],a[2][0],a[2][1]赋值为0,最后for(j= 0;j<3;j++)printf(“%n”,a[j]);printf(“\n”);进行换行输出,所以输出结果为
   1    2    3
   0    5    6
   0    0    9
转载请注明原文地址:https://kaotiyun.com/show/1OXp777K
0

最新回复(0)