这个为啥选c呀,可以解答一下吗?

img

这里的打印的p并没有进行解定义,它的得到的是一个地址,假设它是200,第二个打印p+5,指针加5,右移5位。变成205,205再转十六进制也是CD呀

再一个地址可以进制转换吗?它不是随机的东西吗?

你的编译器是16位int,那p每次+1就是+2个字节,200+5*2=210 对应16进制D2

%x是十六进制输出
假设它是200,第二个打印p+5,指针加5,右移5位。变成205
==你这句理解是错误的。因为p是int型指针,那么p每加1,地址是向后移动四个字节,而不是一个字节。因此p+5指向的地址是200+5*4=220
答案是D2,就是210,看样子你的书太老了啊。int还是两个字节,16位的......
找点新的书看看吧,不然会毁了你的

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632