C++ 两句话解释

yang868868 2012-07-09 09:58:10
for(int i=0;i<4;i++)
{
*((WORD*)(cPid + i*2)) ^= 0x8ce2;
*((WORD*)(cInversion + i*2)) ^= 0xFFFF;
}
有哪位大虾翻译下这句话的意思!谢谢!这是一个复合语句吗?
...全文
150 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
fzamygsd 2012-07-09
  • 打赏
  • 举报
回复
cPid + i*2是char*类型的

强制转换成WORD*类型的 (估计你的WORD占两个字节)

*((WORD*)(cPid + i*2))就是在cPid + i*2的位置 及其后取出两个字节的数据 和0x8ce2求异或 后放回


下面一个类似
W170532934 2012-07-09
  • 打赏
  • 举报
回复
*((WORD*)(cPid + i*2)) ^= 0x8ce2;//cPid可能是个数组的名字,然后寻址到cPid+i*2这个元素进行强制类型转换,然后取出word类型的数据元素和ox8ce2进行异或。下面的和这个差不多
*((WORD*)(cInversion + i*2)) ^= 0xFFFF;
yang868868 2012-07-09
  • 打赏
  • 举报
回复
unsigned char cPid[8];
unsigned char cInversion[8];
lazyman_54 2012-07-09
  • 打赏
  • 举报
回复
好像是对一个二维数组进行赋值,我不是大虾···WORD是这个二维数组的名称,也是头指针
zyrr159487 2012-07-09
  • 打赏
  • 举报
回复
cPid是什么类型的

65,186

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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