我在《C Prime Plus》这本书上看过,由于编译器和操作系统的不同,对于int 和short int 的字节数是不同的,在16位操作系统中,short int和int型的字节数是相同的,而在32位中却是long int和int相同,等到64位操作系统中又会有什么变化现在还不知道。而编译器是建立在操作系统之上的,我猜想正是由于这个原因,vc++才和tc不一样把(tc是在DOS上的,而DOS是16位的;vc++6.0是支持windows NT内核的,而windows NT是32位的)。以上是我的个人想法。