C++primer里说整型越界赋值是对可能取值数目求模后取其所得值。例如unsigned char x = -1; 那么结果是255。
但我写了以下程序,输出的不是254对应的字符,并且如果赋予a的正值超过128也会显示不正常,这是怎么回事?
unsigned char a; a=-2; cout<<a<<endl;
应该是这样吧:
unsigned int a = -2; cout<<a<<endl;
恩,是打错了。打按照C++Primer的说法不是应该输出ASCLL码表的第254个字符吗?在VC 6.0下输出不是这样啊
@Auto_TZ 能解释下为什么会输出异常吗?多谢