指针笔试题3

 

上述代码可转换为下图:

**++cpp,前置++为先使用再++,所以此时cpp指向了c+2处的地址,解引用得到c+2,再解引用得到P的地址,因此从P的位置向后打印字符串,得到POINT,如图所示。

*-- * ++cpp + 3,首先++cpp,此时cpp指向了c+1处的地址,解引用得到c+1,再--,变成c,解引用得到E的地址,+3表示跳过前三个字符,来到第四个字符E,从E的位置向后打印,得到ER,如图所示。

*cpp[-2]+3可转化为**(cpp-2)+3,cpp-2后得到了c+3处的地址,解引用得到c+3,再解引用得到F的地址,再+3,得到S的地址,从S的位置向后打印,得到ST,如图所示。

cpp[-1][-1]+1可转化为*(*(cpp-1)-1)+1,cpp-1后得到了c+2处的地址,解引用得到c+2,再-1变成c+1,解引用得到N的地址,再+1得到E的地址,向后打印得到EW,如图所示。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值