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
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
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])