# \NEKO/\(ФωФ)/ # 奇怪的知识增加了|Muse Dash 喵斯快跑


3楼猫 发布时间:2022-04-19 13:48:08 作者:大肥虎 Language

Muse Dash在2月5日更新了新角色游戏主播NEKO#ΦωΦ,这个角色的技能是没血之后会进入无敌状态,是一个不死的角色,官方还隐藏了一个能让NEKO死亡的彩蛋。

连续点击NEKO左上方的小黑猫即可触发↓

# \NEKO/\(ФωФ)/ # 奇怪的知识增加了|Muse Dash 喵斯快跑 - 第1张这时NEKO会有一句语音↓
# \NEKO/\(ФωФ)/ # 奇怪的知识增加了|Muse Dash 喵斯快跑 - 第2张然后再使用NEKO进入游戏你就会发现NEKO不再是不死的了,失去所有血量后会正常死亡

NEKO之死↓
# \NEKO/\(ФωФ)/ # 奇怪的知识增加了|Muse Dash 喵斯快跑 - 第3张相信这个彩蛋已经有不少玩家知道了,所以我要说的奇怪的知识当然不是这个了。

在触发这个彩蛋之后,NEKO的技能描述会变成不断闪烁的“烫烫烫烫烫烫”

烫烫烫↓
# \NEKO/\(ФωФ)/ # 奇怪的知识增加了|Muse Dash 喵斯快跑 - 第4张注意到这个的人也许会感到疑惑,NEKO为什么直呼烫烫烫,这个烫烫烫有什么含义?

实际上这是一个经典程序员梗,在Microsoft Visual Studio(简称VS,微软的一个集成开发平台,通俗点理解就是用来编程的软件)中写程序时,如果在栈中定义了一段内存,而未对其初始化直接输出(这是错误操作),就会输出一串烫烫烫乱码。未被初始化的栈在Debug模式运行时会被VS的编译器自动赋值为0xCC(0x前缀表示这是个十六进制数,CC转化成二进制就是11001100),这个值在机器指令中其实是相当于汇编指令INT 3,这是一个中断指令,让编译器运行到此处时中断运行,但是在VS中因为字符集的原因,2个连续的0xCC,即0xCCCC,在该字符集中刚好是表示汉字烫,所以就输出了一大堆烫烫烫。

定义字符数组,不初始化直接输出↓
# \NEKO/\(ФωФ)/ # 奇怪的知识增加了|Muse Dash 喵斯快跑 - 第5张输出烫烫烫↓
# \NEKO/\(ФωФ)/ # 奇怪的知识增加了|Muse Dash 喵斯快跑 - 第6张上面的专业解释看不懂没关系,来个通俗易懂的说法:有一个新容器,里面是空的,你还没往里面放东西就想从里面拿东西,这样显然会出错。系统为了告诉你出错了就往容器里面每一格都放满了同一个数,这个数代表中断指令,也就是想让你这个错误动作停下来,结果因为字符集的问题,在你取东西的时候把这些数拿出来,把2个连续的数当成了一个汉字"烫"了,所以容器里面的那些中断指令全被当成烫给显示出来了。


这在新手写程序的时候是个比较常见的错误,另外由于这个错误的结果很喜感,程序居然还能感觉到烫?所以就变成一个梗流传下来了。许多类似的由于字符编码引起的错误组成了一首打油诗:
        手持两把锟斤拷,口中疾呼烫烫烫。脚踏万朵屯屯屯,笑看万物锘锘锘。

衍生出来的笑话↓
# \NEKO/\(ФωФ)/ # 奇怪的知识增加了|Muse Dash 喵斯快跑 - 第7张

© 2022 3楼猫 下载APP 站点地图 广告合作:asmrly666@gmail.com