level 1
1、直接打印可以显示中文,说明程序中的字符串字面量用的存储编码与输出终端编码相同;
2、输入再输出有问题,是因为对于c语言在windows下,要想用scanf正确输入中文只能采用终端默认编码,也就是gbk(936),否则有问题(尝试得出);
(推测)由以上两条得出你在vscode中测试时终端编码是65001,因此输出正常,输入有问题;而vc6.0正常是因为它一律都是系统默认编码,与终端一致。
解决方案:将终端编码改为默认936,但要注意,如果推测是正确的,这时输入会正常,但直接打印会有问题,这里假设你用gcc编译的,那么加上编译参数 -fexec-charset=gbk 就可以使直接打印也正常
2021年04月25日 10点04分