8.1
程序不得违反标准C语法和约束,不得超出实现的转换限制
0232 十六进制转义序列的值在“unsigned char”类型中无法表示。
int ia = '\x4142'; /* Message 0232 */
char 字符常量只有1个Byte大小(不考虑宽字符常量),‘\x4142’ = 16706, 超过范围了。 0-255
十六进制转义序列的值不得超过unsigned char中可表示的值的范围.
char 类型用于存储字母和标点符号之类的字符,但是在技术实现上char却是整数类型,这是因为char类型实际存储的是整数而不是字符
char grade = 'A' ;
char grade = 65; // 这是一种不好的编程风格
令人奇怪的是,C将字符常量视为int类型而非char类型