C语言题目:有如下定义:int x[]={1,2,3},*p=x,y;则y=*p++;相当于:A.y=*(p+1),p=p+1B.y=1,x++C.y=2,p=x+1D.y=*p,p++

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/06 20:09:49

C语言题目:有如下定义:int x[]={1,2,3},*p=x,y;则y=*p++;相当于:A.y=*(p+1),p=p+1B.y=1,x++C.y=2,p=x+1D.y=*p,p++
C语言题目:有如下定义:int x[]={1,2,3},*p=x,y;则y=*p++;相当于:
A.y=*(p+1),p=p+1
B.y=1,x++
C.y=2,p=x+1
D.y=*p,p++

C语言题目:有如下定义:int x[]={1,2,3},*p=x,y;则y=*p++;相当于:A.y=*(p+1),p=p+1B.y=1,x++C.y=2,p=x+1D.y=*p,p++
应该是D,*,++优先级是一样的的,运算方式是右结合.所以先计算++(地址加1),再计算*.但++是先访问再++生效,所以取址运算还是对加1前的p.