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求异或 后放回
下面一个类似