问题:输出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,循环条件一直成立。
切勿混用带符号类型和无符号类型:如果表达式中既有带符号类型又有无符号类型,当带符号类型取负值时会出现异常结果,这是因为带符号数会自动地转换成无符号数。