128以后的char变量输出问题,求大神解答

图片说明

是用VS2015写的代码,执行之后的结果是这样的
图片说明

请问是怎么来的

应该就是大于127之后由2位凑成一个中文字符。

你试试将char 改成unsigned char ,看看输出结果如果。

支持楼上说的中文字符的说法

中文字符

在你的控制面板,区域选项中设置非unicode字符默认代码页为英文
在你的控制台窗口右上角图标点下,选择属性,字体选择英文字体
就可以显示>127的字符了。

乱码像中文而已,跟中文没关系

可能是代码页乱掉了,建议使用Unicode输出。请试试以下做法:
char tmp[256];
sprintf(tmp, "%c%c%c%c%c\n", b, a, a, a, b);
_tprintf("%S", tmp);
注意%S的S要大写。

这不是乱码了吗?最好输出01看着效果最明显