问题:输出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,循环条件一直成立。

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

相关文章:

  • 2021-10-08
  • 2021-11-28
  • 2022-12-23
  • 2021-08-30
  • 2021-09-29
  • 2022-12-23
  • 2021-11-13
  • 2021-07-18
猜你喜欢
  • 2021-08-12
  • 2021-12-20
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案