@
Pastsong 但是作为一个正常程序猿的思维,n 会自然地被作为 string 中的一个字符来看待,而不是数字中的自然数 n。
比如 3.11 会首先觉得是 3.1 的子版本而不是十一
因为这种思维上的问题,早就出过不止一次问题了。最经典的应该就是当年 windows 10 发布,因为 windows 获取系统版本的 api,返回的版本号是 10.0,导致很多软件只取第一个字符,把系统版本编号当成了 1,认为系统版本过老拒绝启动
顺便贴一下 MSDN 上的各个系统对应的版本数字,也让大家来想想,如果自己处在 windows xp 或者 windows 7 的时代,面对这么缓慢增长的版本数字,当时肯定会觉得,在有生之年微软也不回把版本跌倒到 10。然而谁也没想到,微软直接来了个 win10。如果自己处在那个时代,是否能避免上面说的 BUG ?
Operating system Version number
Windows 10 10.0*
Windows Server 2019 10.0*
Windows Server 2016 10.0*
Windows 8.1 6.3*
Windows Server 2012 R2 6.3*
Windows 8 6.2
Windows Server 2012 6.2
Windows 7 6.1
Windows Server 2008 R2 6.1
Windows Server 2008 6.0
Windows Vista 6.0
Windows Server 2003 R2 5.2
Windows Server 2003 5.2
Windows XP 64-Bit Edition 5.2
Windows XP 5.1
Windows 2000 5.0