有如下说明
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+则不是合式的,至少不是算术的一般标记方式。
参考资料来源:百度百科-表达式