若有以下定义和语句: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)
若有以下定义和语句:
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 ,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]就是不能表达这个数组元素的啦