【问题标题】:What happens if you exceeds the maxium value of short int(c++)?如果超过 short int(c++) 的最大值会怎样?
【发布时间】:2017-01-13 01:29:02
【问题描述】:

例如,我将通过此代码获得什么价值,

short int num = 32766
num + 5 = ?

short int 的最大值是 32767。

【问题讨论】:

  • 谁知道 - 这就是为什么它被称为“未定义的行为”
  • UB 是 UB 是潜在的release of the kraken
  • 可能溢出了?
  • @synchronizer 有符号整数溢出是 c++ 中的 UB。
  • @synchronizer 它是UB in C too

标签: c++


【解决方案1】:

有符号整数溢出是undefined behavior

【讨论】:

  • 如果我必须给它一个值,那会是0吗?
  • @MarkusFürst 关于未定义行为的事情是我们不知道它会是什么。这取决于编译器。
  • @MarkusFürst 请不要给 UB 任何值,它不值得,它是一个讨厌的野兽 :)
  • @MarkusFürst 这就像给香蕉分配一个数值,只是不太明智。
  • @MarkusFürst - 您无法推断 C++ 程序表现出未定义的行为 - 请点击该链接并阅读编译器将对此类程序执行的操作(然后点击其他链接)。跨度>
猜你喜欢
  • 2011-05-30
  • 2017-07-31
  • 1970-01-01
  • 2012-02-09
  • 1970-01-01
  • 2010-11-12
  • 1970-01-01
  • 1970-01-01
  • 2012-06-22
相关资源
最近更新 更多