请考虑以下代码:
unsigned short i;
unsigned short a;
unsigned char *pInput = (unsigned char *)&i;
pInput[0] = 0xDE;
pInput[1] = 0x01;
a = ((unsigned short)(*pInput++)) << 8 | ((unsigned short)(*pInput++));
为什么a的值是0xDEDE,而不是0xDE01?