问题 填空题

以下程序运行后的输出结果是______。
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;
for (i=0;i<3;i++)
for (j=0;j<3;j++) printf("%d ",a[i][j]);
printf("\n");

答案

参考答案:1 2 3\n0 5 6\n0 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][i]=0;将行下标i大于列下标j的元素s[1][0],a[2][0],a[2][1]赋值为0,最后 for(j=0;j<3;j++)prinff("%n",a[i][j]);printf("\n");进行换行输出,所以输出结果为
1 2 3
0 5 6
0 0 9

单项选择题
判断题