c语言选择题求助
已知:inti=0,j=1,*p=&i,*q=&j;错误的语句是A.i=*&j;B.p=&*&i;C.j=*p++;D.i=*&q答案是什么为什么?...
已知:int i=0,j=1,*p=&i,*q=&j;错误的语句是
A.i=*&j ; B.p=&*&i ; C.j=*p++; D.i=*&q
答案是什么为什么? 展开
A.i=*&j ; B.p=&*&i ; C.j=*p++; D.i=*&q
答案是什么为什么? 展开
2个回答
展开全部
主要是指针的问题,D是错误的,因为Q是一个指针变量,先取它的地址,再按这个址取它的内容,显然取到的是指针变量Q的内容,而指针Q的内容是保存指向I的地址,把这个值赋给整型变量I显然这是不正确的。
再分析一下其它的答案,A:先取J的地址,再取内容,那么取到的是变量J的值,这是正确的;B是先取变量I的地址,再取内容,取到的是I的值,再取一遍地址,得到的是变是I的地址,再赋给指针P,这也是正确的;C:这个涉及到运算符优先级别的问题了,先是P自增,后取内容
再分析一下其它的答案,A:先取J的地址,再取内容,那么取到的是变量J的值,这是正确的;B是先取变量I的地址,再取内容,取到的是I的值,再取一遍地址,得到的是变是I的地址,再赋给指针P,这也是正确的;C:这个涉及到运算符优先级别的问题了,先是P自增,后取内容
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询