超初歩ですが、
short int sia = 32768;
の場合、
printf("sia=%d sia+1=%d\n", sia, sia+1);
で出力した場合、オーバーフローを起こして
sia=-32768 sia+1=-32767
となりますが、
short int sia = 32767;
の場合、上記同様の出力をおこなった場合、
sia=32767 sia+1=32768
となります。なぜsia+1はオーバーフローを起こさないのでしょうか?