这个链表输出为什么会是乱码

为什么输入中文的时候输出节点就变成乱码了,输入字母就不会!!?

img

因为中文是unicode编码,需要占用多个字节的存储空间,而char类型只占一个字节,所以输入中文不能被正确表示,就出现乱码。

如果中文用gbk编码,那么固定占2字节
如果用utf8编码,那么可能占2-4字节
你用一个%c输出,那肯定成乱码了,顺带着连后面的字都给带跑偏了
你应该用%s输出

中文汉字占两个字节,char n; 只有一个字节,装不下。