練習問題2.6 一体,どのくらいの距離まで計算できるの?

みなさんが使っている処理系のint型で扱える範囲は2147483647から
-2147483648です。別の表現をすると231-1から-231になります。
int型は4バイトの情報を格納できるためです。
したがって,2147483647kmまでの距離を
扱うことができます。この数を超えるとどうなるのでしょうか。
さっそく試してみましょう。おまじないを入力した後,// の部分に,
2147483647 + 1を表示するprintf関数を追加します。
prac0206.cの名前で保存し,コンパイル,実行をおこなってみましょう。
/*
 * prac0206.c
 */

#include <stdio.h>

int main(void){
	printf("%d\n", 2147483647);
	// 2147483647 + 1を表示するprintf関数を追加

	return 0;
}

コンパイル結果
prac0206.c: In function 'main':
prac0206.c:9:28: warning: integer overflow in expression of type 'int' results in '-2147483648' [-Woverflow]
  printf("%d\n", 2147483647 + 1);
実行結果
2147483647
-2147483648

コンパイル時に,ウォーニング(warning警告)が表示されます。
エラーではないので実行形式プログラムは作成されます。実行すると,
1を加えた結果は-2147483648になります。不思議ですね。もちろん,
理由がありますが,ここでは省略します。