若已定义:int a[9],*p=a;并在以后的语句中未改变p的值,则不能表示a[1] 地址的表达式是( )。

A)p+1B)a+1C)a++D)++p... A) p+1 B) a+1 C) a++ D) ++p 展开
 我来答
一叹t
高能答主

2021-01-07 · 我们不创作,我们只是信息的搬运工。
一叹t
采纳数:2138 获赞数:11971

向TA提问 私信TA
展开全部

选择答案C,a++表示的是先去a的值,然后再进行加1的操作,也就是说因此a++表示a[0]的地址,但是它错误的主要原因是因为a是数组的首地址,是一个常量不能够改变,这是错误的主要原因,如果能改变也是a[0]的地址不会是a[1]的地址。

p+1,a+1,++p(先进行自加的操作再取值,所以可以表示a[1]的地址),所以a++不对,所以选择答案C。

扩展资料:

数组中的元素与结构或类中的字段的区别:

数组中的所有元素都具有相同类型。数组中的元素存储在一个连续性的内存块中,并通过索引来访问(这一点也和结构和类中的字段不同,它们通过名称来访问)。

类型:

数组元素并非只能是基元数据类型,还可以是结构、枚举或类。

数组使用规则:

数组的类型实际上是指数组元素的取值类型。对于同一个数组,其所有元素的数据类型都是相同的。

数组名的书写规则应符合标识符的书写规定。

数组名不能与其它变量名相同。

数组的首地址是一个常量,不可以对数组首地址进行赋值操作。

后缀“++”运算符和前缀“++”的区别:

后缀的“++”,先引用再进行加一操作,前缀的“++”,先进行加一操作然后再进行引用。

手机用户27385
2014-06-25 · TA获得超过121个赞
知道答主
回答量:180
采纳率:70%
帮助的人:56.9万
展开全部
C、 a++ //表示先取a的值,再使a加1。因此a++表示a[0]的地址,且数组名是常值指针,不能修改其值。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shine1991
科技发烧友

2014-06-25 · 智能家居/数码/手机/智能家电产品都懂点
知道顶级答主
回答量:4.7万
采纳率:82%
帮助的人:2.3亿
展开全部

C

C表达式根本就不合法,数组名不是可修改的左值,不可作为自增运算符操作数

追问
能说的详细点吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式