为了账号安全,请及时绑定邮箱和手机立即绑定

输出的结果为什么不是3 4 6 而是3 5 7?

输出的结果为什么不是3 4 6 而是3 5 7?

C
Joker4110332 2016-12-18 17:24:29
#include<stdio.h> int main() {     int j;     int x[3][3]={1,2,3,4,5,6,7,8,9};     for(j=0;j<3;j++)         printf("%d",x[j][2-j]);     return 0; }
查看完整描述

2 回答

已采纳
?
lxlacie

TA贡献35条经验 获得超11个赞

       二维数组的行下标和列下标都是从0开始的。上述代码的结果是取x[0][2],x[1][1],x[2][0],即分别取第一行第三列的3,第2行第2列的5,第三行第一列的7,所以结果为3 5 7。

        要想结果为3 4 6 ,则代码中需取x[0][2],x[1][0],x[1][2]

查看完整回答
1 反对 回复 2016-12-18
?
WGJ

TA贡献27条经验 获得超26个赞

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

数组如下:

1    2    3

4    5    6

7    8    9

用循环遍历以后:

for(j=0;j<3;j++)

        printf("%d",x[j][2-j]);

输出的是x[0][2] = 3; x[1][1] = 5; x[2][0] = 7;

查看完整回答
1 反对 回复 2016-12-19
?
望远

TA贡献1017条经验 获得超1032个赞

输出的是x[0][2],x[1][1],x[2][0]输出的是3*3矩阵的副对角线元素。

查看完整回答
1 反对 回复 2016-12-18
  • 2 回答
  • 0 关注
  • 1781 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信