2017-01-12 7 views
-1
私は例えば、このコードを取得しますどのような値

short int(C++)のmaxium値を超えるとどうなりますか? short int型のため

short int num = 32766 
num + 5 = ? 

Maxium値は32767

+8

それは「未定義の振る舞い」と呼ばれる理由です。 – UKMonkey

+7

UBは潜在的な[クラクションのリリース](http://coliru.stacked-crooked.com/a/a7f7ba72c4f268e8)です。 – jaggedSpire

+0

おそらくオーバーフローですか? – synchronizer

答えて

4

符号付き整数オーバーフローがundefined behaviorです。

+0

私はそれに価値を与えなければならない場合、それは0でしょうか? –

+3

@MarkusFürst定義されていない動作については、それが何であるかわからないということです。コンパイラによって異なります。 –

+3

@MarkusFürstUBに値を与えてはいけません。値するものではありません。それは厄介な獣です:) – AMA

関連する問題