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选什么,为什么?

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 06:20:43

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
选什么,为什么?

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选什么,为什么?
选A,题中把数组的首地址赋给了P之后,那么*p==1,要让他为3,当然是然他后移两位,即p+=2,此时*p=3,至于后面的*(p++)和*(++p)区别么,p++是先让p输出然后自增1,++p就是先让p自增1然后在输出.当p后移两位时,实际此时*(p)==3,为了让结果为3,只能是先输出在自增了.实际上此题主要是靠你的自增运算的用法,实际上要让输出为3,大可不必有后面的自增运算,只有前面的运算已经足够了!