我希望输出为131200(2 ^ 17 + 2 ^ 7)而不是2.理论上有道理,但它不起作用。 指针类型转换行之后的arr [3]的位模式类似于 - [00000000 00000010 00000000 10000000]。 (请告诉我,如果我在某处错了。)
#include <stdio.h>
int main(void){
int arr[5];
arr[3] = 128;
((short *) arr)[6] = 2;
printf("%i\n", arr[3]);
}