若有以下定义和语句: int a[10]={1,2,3,4,5,6,7,8,9,10},p=a; 则不能表示a数组元素的表达式是( ) A) *p B)

若有以下定义和语句:
int a[10]={1,2,3,4,5,6,7,8,9,10},p=a;
则不能表示a数组元素的表达式是( )
A) *p B) a[10] C)*a D) a[p-a]

不能表示a数组元素的表达式是( B) a[10] )----因为数组a的最大下标只能是9,即a[9],

a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],一共10个元素。

A、*p  ---表示取p指针指向的单元的值,即表示取数组a的首个元素a[0]的值。

B、a[10] ---因为数组a一共10个元素,从0开始计数,

即a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],正好10个,没有a[10],所以a[10]就是不能表达这个数组元素。

C、*a ----数组名a中保存的是数组的首地址,*是取单元中的值,*a就是取数组首地址中单元中a[0]的值。

D、a[p-a] --- p指向的是数组a,因为p中与a同数据相同都是数组a的首地址,而p-a就等于0,因此 a[p-a]就相当于a[0]。

扩展资料:

数组元素也是一种变量, 其标识方法为数组名后跟一个下标。下标表示了元素在数组中的顺序号。数组元素通常也称为下标变量。必须先定义数组, 才能使用下标变量。在C语言中只能逐个地使用下标变量,而不能一次引用整个数组。

数组元素的一般形式为:

数组名[下标]

其中下标只能为整型常量或整型表达式。如为小数时,C 编译将自动取整。

例如:

a[5]

a[i+j]

a[i++]

都是合法的数组元素。

参考资料来源:百度百科-数组元素

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-28
不能表示a数组元素的表达式是( B) a[10] )----因为数组a的最大下标只能是9,即a[9],
a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9], 一共10个元素追问

那A ,B,C 分别是什么意思啊

追答

A. *p ---表示取p指针指向的单元的值,即表示取数组a的首个元素a[0]的值
C. *a ----数组名a中保存的是数组的首地址,*是取单元中的值,*a就是取数组首地址中单元中a[0]的值
D. a[p-a] --- p指向的是数组a,因为p中与a同数据相同都是数组a的首地址, 而p-a就等于0,因此 a[p-a]就相当于a[0]啦
B. a[10] ---因为数组a一共10个元素,从0开始计数,即a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],正好10个呀,根本没有a[10]呀,所以a[10]就是不能表达这个数组元素的啦

本回答被提问者和网友采纳
第2个回答  2012-07-09
选B)a[10] a[0]、a[1]、a[2]……a[9]分别是数组a[10]的十个元素,故a[10]不能表示a数组的元素。
第3个回答  2011-11-27
选 B a[10]
数组是从a[0] 到 a[9] 的。。。。。。追问

那A ,B,C 分别是什么意思啊

第4个回答  2011-11-27
fusnh h
相似回答