注意有符号和无符号char的区别
char在不同编译器中可能是有符号或无符号类型,如果是有符号char,转为int时负值会产生符号扩展。为了避免歧义,可以使用unsigned char再转换为int。例:int val = (unsigned char)ch;这样能保证转换后值在0到255之间,避免负数出现。
注意有符号和无符号char的区别
char在不同编译器中可能是有符号或无符号类型,如果是有符号char,转为int时负值会产生符号扩展。为了避免歧义,可以使用unsigned char再转换为int。例:int val = (unsigned char)ch;这样能保证转换后值在0到255之间,避免负数出现。