int a[ ]={1,2,3,4,5,6,7,88,9,10},*p=a; 则值为3的表式是( ) A) p+=2,*(p++) B) p+=2,*++p C) p+=3,*pint a[ ]={1,2,3,4,5,6,7,88,9,10},*p=a;则值为3的表式是( )A) p+=2,*(p++) B) p+=2,*++pC) p+=3,*p++ D) p+=2,++*p选什么,为什么?

问题描述:

int a[ ]={1,2,3,4,5,6,7,88,9,10},*p=a; 则值为3的表式是( ) A) p+=2,*(p++) B) p+=2,*++p C) p+=3,*p
int a[ ]={1,2,3,4,5,6,7,88,9,10},*p=a;
则值为3的表式是( )
A) p+=2,*(p++) B) p+=2,*++p
C) p+=3,*p++ D) p+=2,++*p
选什么,为什么?

选A,题中把数组的首地址赋给了P之后,那么*p==1,要让他为3,当然是然他后移两位,即p+=2,此时*p=3,至于后面的*(p++)和*(++p)区别么,p++是先让p输出然后自增1,++p就是先让p自增1然后在输出.当p后移两位时,实际此时*...