有定义:int aa[8];,则以下表达式中不能代表数组元素aa[1]

9-5若有定义:intaa[8];,则以下表达式中不能代表数组元素aa[1]的地址的是A.&aa[0]+1B.&aa[1]C.&aa[0]++D.aa+1并告诉我为什么... 9-5若有定义:int aa[8];,则以下表达式中不能代表数组元素aa[1]的地址的是
A. &aa[0]+1
B. &aa[1]
C. &aa[0]++
D. aa+1
并告诉我为什么
展开
 我来答
longinus_dean
2011-11-23 · TA获得超过2282个赞
知道小有建树答主
回答量:1097
采纳率:50%
帮助的人:1502万
展开全部
C
追问
为什么
追答
首先C是错的,因为++的优先级很高,所以先计算a[0]++,这个表达式返回的是一个右值,不是左值,而取值操作符&必须要求一个左值才行,所以错了。

假设是&++a[0]就不一样了,因为前置++可以返回左值

左值有两种理解,一种理解是可以放在等号左边的值,也就是可以写入的值,另一种理解是local值,也就是本地值,也是说可以写入的值。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式