C++中的变量是在其长度比int的长度短时是以int的长度为基准“ 对齐”的。所以别说是short,就是char,你声明4个后相邻也要差4个字节,不信你试试……
cout<<&a<改为再试试cout<&a, 是地址 sizeof(&a)=4