若有一下定义,则值为3的表达式是哪个A和D不都是先取地址后加一吗可以分别解释一下其他选项吗
首先确定p+=2后指针指向a[2],也就是值为3了。 之后就是区别下前缀++和后缀++。 简单来说前缀是先计算后赋值,后缀是先赋值后计算,因此前缀都得不到3 *和前缀++优先级一样,从右向左结合。因此 *++p 为*(++p)= a[3] 指针指向下一个元素 ++*p为++(*p)=++(a[2]),对指针所指的元素+1。