(d+8)[-3]*=2 语句的效果是什么?100分问题!

hxq521 2005-08-07 02:17:05
(d+8)[-3]*=2 语句的效果是什么?100分问题!

谢谢,C 语言

希望会的给个确切答复,在线解决,在线放分.
...全文
108 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hxq521 2005-08-07
  • 打赏
  • 举报
回复
谢谢,结分,不然分不够了,呵
johnzhaobing 2005-08-07
  • 打赏
  • 举报
回复
看你用的是什么编译器了,不同版本,结果不一样。 有的可以通过编译,有的会报错的 。而且d也是个未知的变量。很难说具体等于什么。
doway 2005-08-07
  • 打赏
  • 举报
回复
d 是一个指针,d+8是地址运算。
d 对象的类型是用户自定义的。[] 和 *= 是该类型定义的操作符重载。

下标使用小于 0 的值,透露着几分邪恶。 :)
hxq521 2005-08-07
  • 打赏
  • 举报
回复
就是一个问答题啊
megaboy 2005-08-07
  • 打赏
  • 举报
回复
对于形如identifyer[下标]这样的形式,编译器都会解释为*(identifyer+下标)表达式,对于(d+8)[-3]*=2,会变为:*((d+8)-3) = *((d+8)-3) * 2,就是把d加8减3之后再取其指向的值,这个值乘以2再赋予它本身。

具体结果是什么,就要看d了,d应该是一个地址常量或者指针,否则编译器就会报错。
johnzhaobing 2005-08-07
  • 打赏
  • 举报
回复
具体点,把代码最好贴出来
hxq521 2005-08-07
  • 打赏
  • 举报
回复
没人在么?各位 帅哥

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧