c语言问题,求解释一下第10题,谢谢

c语言问题,求解释一下第10题,谢谢
2025-06-23 07:36:28
推荐回答(3个)
回答1:

第10题啊,因为ps和s是1个地址,所以ps[2]和s[2]都是字符0 , 所以A,B是对的,

再看D, ps+= 2, 就是把ps指针移动了2个元素,指向了0,然后取内容,这样取出来的肯定是0 ,所以也是对的

ps+2 这个是个指针,并不是指向的内容,所以不是字符0

答案选C

回答2:

这个C不对啊!ps它指向的是数组第一个元素p,C答案的意思就相当于指针指向后移了两位,不过没有通过解引用而仍然是指针,并不是指针指向的内容。
A B是对的,原因估计你知道。D的意思是指针指向后移两位,再通过指针的解引用把指向的元素“解出来”即为字母o

回答3:

选项C ps是一个指针,所以ps+2也是一个指针,也就是一个内存地址,他所指向的内容是o,但ps+2本身的值并不是o ,他本身的值类似0x12345678这样的形式。