若有以下定义,且0<=i<4,则不正确的赋值语句是 int b[4][6],*p,*q[4]; A q[i]=b[i]; B p=b; C p=b[i]; D q[i]=&b[0][0];

若有以下定义,且0<=i<4,则不正确的赋值语句是 int b[4][6],*p,*q[4];

A q[i]=b[i];  B p=b;  C p=b[i];  D q[i]=&b[0][0];

 答案为B

解析:

A:q是一个指针数组,本质是一个一维数组,b[i]相当于将二维数组拆开成一个一位数组,每个元素还是包含多个元素的一位数组,本质一样,所以可以赋值。

B:p是一个int型指针,而b是一个二维数组名,某些环境运行不会出错,但严谨意义上是不允许的,b,b[0],&b[0][0],结果都是b[0][0]的地址,但是三个方式的类型不完全相同,b是int(*)[]型,b[0]是int *型,&b[0][0]是int*型,而指针p是int *型,所以p=b犯了类型不同的错误。

C:理由同B,p和b[i]类型相同,所以可以赋值。

D:q是一个指针数组,每个元素也是一个指针,q[i]里边存放某个数据的地址,而&b[0][0]是b[0][0]的地址,所以可以赋值。

  • 13
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值