1. C不管这些
C只是让控制台显示197,控制台使用什么codepage,是否支持这种编码,等等,C都不管。
当然,你可以用SetConsoleCP去自己设置,但这和C无关
2. 因为在你的编译系统上 c1=197 后 c1就是-59
#include <stdio.h> #define showchartype(x) puts( _Generic((x), char:"char", signed char:"signed char", unsigned char:"unsigned char") ) int main( void ) { showchartype( (char)'a' ); showchartype( (signed char)'a' ); showchartype( (unsigned char)'a' ); }输出
[此贴子已经被作者于2017-3-29 16:10编辑过]