int a 31,, int a 3 3 1,2 , 3,4 , 5,6 , i,j,s 0

2021-08-16 01:08:42 字数 4101 阅读 6777

1楼:匿名用户

a[0][0]=1,a[0][1]=2,a[0][3]=0,a[1][0]=3,a[1][1]=4,a[1][2]=0,a[2][0]=5,a[2][1]=6,a[2][2]=0,需要说明的是,只有在调试环境中debug运行才能保证没有赋值的数组元素取值是0,否则它们的值无法确认

s+=a[i][j];是个累加,s初始值是0,那么分析一下i和j的取值就知道累加了哪些数组元素了

i循环:i=1,2

i=1时,j循环:j=0,1,累加a[1][0],a[1][1]

i=2时,j循环:j=0,1,2,累加a[2][0],a[2][1],a[2][2]

输出为:18换行

2楼:笃学敏思

要看清j<=i而不是j

i循环:i=1,2

i=1时,j循环:j=0,1,累加a[1][0],a[1][1]i=2时,j循环:j=0,1,2,累加a[2][0],a[2][1],a[2][2]

#include main() {int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0; for(i=1;i<3;i++) for(j=0;j

3楼:匿名用户

#include

main()

,,},i,j,s=0;

for(i=1;i<3;i++)

for(j=0;j明白了么

4楼:匿名用户

for(i=1;i<3;i++)

{for(j=0;j件i=1&&i<3====>i只能是1和2再到第二个for循环满足条件j=0&&j当i=1时j只能==0,当i=2时j只能是==0或1(条件j

i=1 j=0 *****》 s1=a[1][0]+0=3;

i=2 j=0 *****》 s2=a[2][0]=5i=2 j=1 *****》 s3=a[2][1]=6最后s=s1+s2+s3==14;(依据:s+=a[i][j])

有以下程序, #include main() {int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};int b[3]={0},i;

5楼:听不清啊

#include

main()

,,};

int b[3]=,i;

for(i=1;i<3;i++)

b[i]=a[i][2]+a[2][i];

for(i=1;i<3;i++)

printf("%d",b[i]);

printf("\n");

}程序运行后的输出结果是(1418)

这是因为b[1]=a[1][2]+a[2][1]=6+8=14b[2]=a[2][2]+a[2][2]=9+9=18而输出时没有空格,所以14与18就连起来了。

6楼:1997排长

a[i]是指a数组的第i项元素,没有什么执行不执行的。

a[i]++就是把该元素+1了。

如果有这样的语句:x = a[i]++; 那么才是先把该元素赋值给 x,然后该元素自己+1。

注:a[i]++ 是个表达式,其值为 a[i] 的原始值,这个表达式求值后,a[i]自身+1。

7楼:徐冬冬

#include

int main ()

;for (i=1;i<3;i++)

for(j=i;j<3;j++) printf("%d",a[i][j]);

printf("\n");

}数组a[3]是由a[0][0]~a[2][2]组成的,第一层循环取 i 为1,而j等于i开始就是a[1][1]=5,a[1][2]=6,第二层循环i为2,j等于i开始就是a[2][2]=9了,输出结果是569.

8楼:

#include

main ()

;for (i=1;i<3;i++)

for(j=i;j<3;j++) printtf(”%d”,a[i][j]);//a[1][1]=5,a[1][2]=6,a[2][2]=9

printf(”\n”);}

void main() { int a[3][3]={{1,2,3},{4,5,6},{7,8,9}}; foo(a); printf("%d",a[2][1]); }

c语言中 int a[3][3]={{1,2},{3,4},{5,6}}

9楼:匿名用户

int a[3][3]=,,}

不就是定义了一个复

制3*3的数组,然后对他进行初始化,可以对全部元素初始化,也可对部分元素初始化,没初始化的默认为0;

第一行1,2,0

第二行3,4,0

第三行5,6,0

。。。这不是数组基础么。。。

简单的说,就是定义了一个数组,并初始化了,和int a=3;是一个道理。

int a[3] [3] ={1,2,3,4,5,6,7,8,9};

10楼:我才是柳随风

这个二维数组

实际上是一个有3个元素的一维数组,其中数组的元素又是一个有3个元素的一维数组。

我们先按行优先重新排列一下:

int a[3][3]=

;c和c++中的数组是从0开始编号的,

第1行:a[0][0],a[0][1],a[0][2]第2行:a[1][0],a[2][1],a[1][2]第3行:

a[2][0],a[2][1],a[2][2]再看你要取的值:a[1][3]在**呢?显然在a[1][2]之后,但该值已经超出了数组的界限(数组有3个元素),即下标溢出了,溢出到了**呢?

因为c/c++中多维数组(存储方式)相当于连续的一维数组,因此,这里它的溢出位置恰好是a[2][0]所在的位置。

现在可以给你答案了:a[1][3]=7

11楼:匿名用户

不知道,因为a[0][0]表示第一行第一列,a[0][1]表示第一行第二列

a[1][0]表示第二行第一列,而a[1] [3]表示第二行第四列,而这个数组是3行3列的,所以不知道a[1] [3]等于多少,没定义

12楼:今天最惨痛

7a[3][3] 就是3行3列

a[1][3] 就是第2行第4列(因为数组下标是从0开始记的),但是数组里没有第4列,顺着往下数,就是第3行的第一列,就是7.

13楼:冯益斌

赋值后,a的元素为

1,2,3,4,5,6,7,8,9

4,5,6,7,8,9

7,8,9

a[1] [3]=7

14楼:

0列 1列 2列

0行 1 2 31行 4 5 62行 7 8 9a[1] [3]=6

15楼:匿名用户

越界了,但是由于二维数组的线性存储性质,

a[1][3]可能是a[2][0]这个数据,也就是7

我只能说可能啊,

16楼:匿名用户

没有,最多到a【1】【2】

17楼:

输出值为7.题一点问题都没。

main() {int a[4][4]={{1,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}},i,j,k,t 这道程序是怎么运行的

18楼:匿名用户

先是对矩阵的每列按从小到大排序(应该是选择排序法),然后输出对角元

需要具体解释吗??

19楼:百度网友

对二维数组各列分别进行大小排序

for(i=0;i<4;i++)选择0...3列中的一列for(j=0;j<3;j++)将选择列进行冒泡排序for(k=j+1;k<4;k++)

if(a[j][i]>a[k][i])