混淆了与character和wchar_t相关的输出

Ken*_*nta 2 c++

无法理解以下代码中发生的事情

wchar_t wc;

wc =L'ab';

char ch = 'ab'; 
Run Code Online (Sandbox Code Playgroud)

当我调试上述代码中,我发现,被存储在wc其中作为b被存储在ch.我不明白为什么a不被存储在里面ch.

acr*_*075 5

6.4.4.4规范第10段:

包含多个字符(例如,'ab')的整数字符常量的值,或包含未映射到单字节执行字符的字符或转义序列的值是实现定义的

换句话说,不同的编译器可能以不同的方式做事.