[C言語]整数のオーバーフロー

– 大きな数値同士の掛け算ではオーバーフローしやすい
– 表現可能なのは2147483647まで
– 最大値に1を足した場合もオーバーフローになる

#include <stdio.h>
#include <limits.h>

int main(void){
	int a = INT_MIN; // -2147483648
	int b = -1;

	int answer = a * b;
	printf("%d\n", answer);

	return 0;
}

$ ./main
-2147483648

int answer = a / b;としても同様
$ ./main
Floating point exception (core dumped)