无符号类型和有符号类型

问题:输出0~10

for(int i=10;i>=0;i--)
std::cout<<i<<std::endl;

结果输出:10 9 8 7 ...0

for(unsigned u=10;u>=0;u--)
std::cout<<u<<std::endl;

发生错误,变量U永远不会小于0,循环条件一直成立。

切勿混用带符号类型和无符号类型:如果表达式中既有带符号类型又有无符号类型,当带符号类型取负值时会出现异常结果,这是因为带符号数会自动地转换成无符号数。

posted @ 2016-11-09 18:39  锅里煮水  阅读(514)  评论(0编辑  收藏  举报