若已定义 int a[ ]={1,2,3,4},*p=a,则下面表达式中值不等于2的是A.*(a+1)B.*(p+1)C

问题描述:

若已定义 int a[ ]={1,2,3,4},*p=a,则下面表达式中值不等于2的是A.*(a+1)B.*(p+1)C.*(++a)D.*(++p)
1个回答 分类:综合 2014-10-04

问题解答:

我来补答
选C 因为 a数组是常量 不能用 ++a 其他的都是可以的
再问: 能解释一下其他几个选项得2是怎么来的吗?
再答: 选项A 就是a+1所指向的数组元素 即 a[1] 选项B 就是p+1所指向的数组元素 即a[1] 说白了 A和B选项 是 等价的 选项D 则是 先让 p自增1 然后 再取 * 那么就是 指向了 2 其实 就等价于 a[++i](i=0)
 
 
展开全文阅读
剩余:2000