永发信息网

int a[][3]={1,2,3,4,5,6};printf(""%d"",a[1][1]);

答案:3  悬赏:70  手机版
解决时间 2021-01-25 09:26
  • 提问者网友:喧嚣尘世
  • 2021-01-24 12:29
int a[][3]={1,2,3,4,5,6};printf(""%d"",a[1][1]);
最佳答案
  • 五星知识达人网友:底特律间谍
  • 2021-01-24 12:49
5
int a[][3]这是定义了一个二维数组,每列三个元素,后面的{1,2,3,4,5,6}依次分配,故数组为:
1 2 3
4 5 6
a[1][1]的值就是5.
全部回答
  • 1楼网友:猎心人
  • 2021-01-24 15:47
把b的定义改为,int (*b)[3]就可以了
定义成这样子,说明b是一个指向一个长度为3的一维数组,也就是书上所说的行指针。意思是,b+1,就指向了a[1],一下子跳过了a[0](一共六个字节),而不是指向a[0][1];
你本来把b定义成int *b;则这个是列指针,即一次只移动一个int
的长度(两个字节)。所以此时的b+1,就指向了a[0][1];
  • 2楼网友:洒脱疯子
  • 2021-01-24 14:13
C语言规定else总和离它最近的if语句配对。故第一个else与第一个if,第二个与第二个if。
第一个(a>b>c),a>b is true.故为1,1>c is false .为0,所以执行else后面的语句。c-1>d为真,故为1,1==1,执行printf(),结果为3
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯