int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为9的表达式是

有如下说明
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为9的表达式是
A) *p+9 B) *(p+8) C) *p+=9 D) p+8

选B

记住这样一个无条件相等的等式:

*(p+i)与P[i]无条件等价。

因为p是指向数组a首元素的地址,所以p[i]又和a[i]等价。

易知B选项即为p[8],也即为a[8],其值为9。

扩展资料:

一个表达式的赋值和算符的定义以及数值的定义域是有关联的。

两个表达式若被说是等值的,表示对于自由变量任意的定值,两个表达式都会有相同的输出,即它们代表同一个函数。

一个表达式必须是合式的。亦即,其每个算符都必须有正确的输入数量,在正确的地方。如表达式2+3便是合式的;而表达式*2+则不是合式的,至少不是算术的一般标记方式。

参考资料来源:百度百科-表达式

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-14
记住这样一个无条件相等的等式:
*(p+i)与P[i]无条件等价。
因为p是指向数组a首元素的地址,所以p[i]又和a[i]等价。
易知B选项即为p[8],也即为a[8],其值为9。
选B本回答被提问者和网友采纳
第2个回答  2007-05-04
是这样的!*p是一指针!指向A的首地址!

所以只有B)是正确的,C)会将指针指向一个不明区域而造成错误!
第3个回答  2019-04-23
选Ap是a[0]的地址*p=*p+7:*p是8B选项的*(p+8)是p[8],值是9C是*p+8=a[0]+8=9D就是一个地址
第4个回答  2007-05-04
应该是p[8]和*P+8都可以吧
或者*(P+8)也应该对
相似回答