奥礼网
新记
int a[][3]={1,2,3,4,5,6};printf(""%d"",a[1][1]);
int a[][3]={1,2,3,4,5,6};printf(""%d"",a[1][1]);
多少?
举报该文章
相关建议 2018-09-06
把b的定义改为,int (*b)[3]就可以了
定义成这样子,说明b是一个指向一个长度为3的一维数组,也就是书上所说的行指针。意思是,b+1,就指向了a[1],一下子跳过了a[0](一共六个字节),而不是指向a[0][1];
你本来把b定义成int *b;则这个是列指针,即一次只移动一个int
的长度(两个字节)。所以此时的b+1,就指向了a[0][1];
温馨提示:内容为网友见解,仅供参考
当前网址:
https://aolonic.com/aa/akd1d1d1wd5ad1wkgkw.html
其他看法
第1个回答 2018-09-06
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
第2个回答 2018-06-26
5
int a[][3]这是定义了一个
二维数组
,每列三个元素,后面的{1,2,3,4,5,6}依次分配,故数组为:
1 2 3
4 5 6
a[1][1]的值就是5.本回答被提问者采纳
相似回答
大家正在搜
相关问题
有定义: int a[3][3]={1,2,3,4,5,6,...
有定义inta[][3]={1,2,3,4,5,6};执行语...
void main() {int a[2][3]={1,2,...
int i;int a[3][3]={1,2,3,4,5,6...
int i;int a[3][3]={1,2,3,4,5,6...
#include<stdio.h> main() { int...
int a[3][2] = { 1,2,3,4,5,6 },...
{ int a[]={1,2,3,4,5,6};int *p...