一道c语言题目,高手解答!!!!详细说明答案是什么,并解释原因(重点解释C、D选项)。谢谢
若有定义inta[5],则下列对a数组元素或地址的引用错误的有()。A)&a[5]B)a[2]C)a++D)*aE)a[0]...
若有定义int a[5],则下列对a数组元素或地址的引用错误的有()。
A)&a[5]
B)a[2]
C)a++
D)*a
E)a[0] 展开
A)&a[5]
B)a[2]
C)a++
D)*a
E)a[0] 展开
5个回答
展开全部
A错的,数组定义的a[5],也就是a[0]~a[4];
C,a是首地址,a++也就是自加1,从a[0]指向了a[1]
D,对指针接引用,如果没有改变a指针,*a就等于a[0],如果经过C选项a++,那么*a就等于a[1]
C,a是首地址,a++也就是自加1,从a[0]指向了a[1]
D,对指针接引用,如果没有改变a指针,*a就等于a[0],如果经过C选项a++,那么*a就等于a[1]
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
A ,C,D
a的错误是超过了数组上限,因为数组是从0开始的C,D的错误是把数组当成普通变量运算了,没有指定数组数列
a的错误是超过了数组上限,因为数组是从0开始的C,D的错误是把数组当成普通变量运算了,没有指定数组数列
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
答案是A ,C,
C: a是数组的起始地址是不到改变的,所以错了,
D:是一个指针引用,相当于a[0]
C: a是数组的起始地址是不到改变的,所以错了,
D:是一个指针引用,相当于a[0]
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
A,数组a的下标从0到4,5超出了下标最大值
D,不能对数组使用*标志
D,不能对数组使用*标志
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询