读书人

C++ 两句话解释解决思路

发布时间: 2012-08-02 11:35:25 作者: rapoo

C++ 两句话解释
for(int i=0;i<4;i++)
{
*((WORD*)(cPid + i*2)) ^= 0x8ce2;
*((WORD*)(cInversion + i*2)) ^= 0xFFFF;
}
有哪位大虾翻译下这句话的意思!谢谢!这是一个复合语句吗?

[解决办法]
*((WORD*)(cPid + i*2)) ^= 0x8ce2;//cPid可能是个数组的名字,然后寻址到cPid+i*2这个元素进行强制类型转换,然后取出word类型的数据元素和ox8ce2进行异或。下面的和这个差不多
*((WORD*)(cInversion + i*2)) ^= 0xFFFF;
[解决办法]
cPid + i*2是char*类型的

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

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


下面一个类似

读书人网 >C++

热点推荐