C语言关于指针的三道简单选择题,来个大神解释下,谢谢

1如果有定义inta[30],*pa=a;则数组a中下标为i的元素的地址为。A.p+i*2B.p+(i-1)*2C.p+(i-1)D.p+i正确答案:B你错选为D2若有如... 1如果有定义int a[30], *pa=a; 则数组a中下标为i的元素的地址为 。

A.
p+i*2

B.
p+(i-1)*2

C.
p+(i-1)

D.
p+i

正确答案: B 你错选为D

2若有如下定义,则__________是对数组元素的正确的引用。

int a[10] , *p =a;

A.
*&a[10]

B.
*&a[0]

C.
*(p-11)

D.
*(a+11)

正确答案: A 你错选为B

3若有定义:int x[10]={0,1,2,3,4,5,6,7,8,9},*p1;则数值不为3的表达式是 。

A.
x[3]

B.
p1=x+3,*p1++

C.
p1=x+2,*(p1++)

D.
p1=x+2,*++p1

正确答案: C 你错选为B

文字看起来不舒服的看图片。
展开
 我来答
百度网友53aaec5
2015-05-07 · 超过63用户采纳过TA的回答
知道小有建树答主
回答量:80
采纳率:100%
帮助的人:79.3万
展开全部
第一题明显D是答案
第二题明显ACD数组越界错误 正确答案为B
第三题A x[3]为3无疑问,B p1为x[3]的地址 ++是后++不需考虑 也是3 C p1为x[2]地址,后面的++无论括号与否都是表达式执行完最后执行,D 先++之后也是x[3]的地址 明显正确。
所以只有C错误 答案为C

这个题库正确答案都给不出来,显然不值得你去练习,建议换地方做题~
第二题那么明显的大小为10的数组下标最多为9这种题目都答案给错,可见出题者的水平,第一题无论怎样都不可能离开C和D 答案居然为B太侮辱智商。不必纠结了 想学习指针去看C指针与陷阱这本书
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式