32位系统你可能看不出来差别,因为int 和long int都在内存中占4个字节,但是早期的16位和64位系统就不同了:16位,int占2个字节,long int占4个字节。64位,int占4个字节,long int占8个字节。16和64位取值、取址就不一样了。输出时,建议使用 %hd和%ld,不要都使用%d。