# \NEKO/\(ФωФ)/ # 奇怪的知识增加了

更新时间2021/2/86076 浏览综合
Muse Dash在2月5日更新了新角色游戏主播NEKO#ΦωΦ,这个角色的技能是没血之后会进入无敌状态,是一个不死的角色,官方还隐藏了一个能让NEKO死亡的彩蛋。
连续点击NEKO左上方的小黑猫即可触发↓
TapTap
这时NEKO会有一句语音↓
TapTap
然后再使用NEKO进入游戏你就会发现NEKO不再是不死的了,失去所有血量后会正常死亡
NEKO之死↓
TapTap
相信这个彩蛋已经有不少玩家知道了,所以我要说的奇怪的知识当然不是这个了。
在触发这个彩蛋之后,NEKO的技能描述会变成不断闪烁的“烫烫烫烫烫烫”
烫烫烫↓
TapTap
注意到这个的人也许会感到疑惑,NEKO为什么直呼烫烫烫,这个烫烫烫有什么含义?
实际上这是一个经典程序员梗,在Microsoft Visual Studio(简称VS,微软的一个集成开发平台,通俗点理解就是用来编程的软件)中写程序时,如果在栈中定义了一段内存,而未对其初始化直接输出(这是错误操作),就会输出一串烫烫烫乱码。未被初始化的栈在Debug模式运行时会被VS的编译器自动赋值为0xCC(0x前缀表示这是个十六进制数,CC转化成二进制就是11001100),这个值在机器指令中其实是相当于汇编指令INT 3,这是一个中断指令,让编译器运行到此处时中断运行,但是在VS中因为字符集的原因,2个连续的0xCC,即0xCCCC,在该字符集中刚好是表示汉字烫,所以就输出了一大堆烫烫烫。
定义字符数组,不初始化直接输出↓
TapTap
输出烫烫烫↓
TapTap
上面的专业解释看不懂没关系,来个通俗易懂的说法:有一个新容器,里面是空的,你还没往里面放东西就想从里面拿东西,这样显然会出错。系统为了告诉你出错了就往容器里面每一格都放满了同一个数,这个数代表中断指令,也就是想让你这个错误动作停下来,结果因为字符集的问题,在你取东西的时候把这些数拿出来,把2个连续的数当成了一个汉字"烫"了,所以容器里面的那些中断指令全被当成烫给显示出来了。
这在新手写程序的时候是个比较常见的错误,另外由于这个错误的结果很喜感,程序居然还能感觉到烫?所以就变成一个梗流传下来了。许多类似的由于字符编码引起的错误组成了一首打油诗:
手持两把锟斤拷,口中疾呼烫烫烫。脚踏万朵屯屯屯,笑看万物锘锘锘。
衍生出来的笑话↓
TapTap
评论11
只看作者
最热
TapTap
写下你的想法...
树懒RainNeko
草,原来这个烫是这么来的(
羽入
程序员梗哈哈哈哈哈,大一时候学C时候遇到过,输出全是烫烫烫烫烫[嗒啦啦2_哈哈]
福州守护者丶
这个不死之后不算成绩那她有什么用啊,感觉好垃圾啊
树懒RainNeko
娱乐角色而已
大肥虎
我只能说可爱即正义
全部 5 条回复
Samoylov
C++哈哈哈
XiaoWei1670
【此用户已被禁言】
笑死了[嗒啦啦2_哈哈]
时光小约
锟斤拷(
已经到底了
97
27
11