C/기초

오버플로우

컴공 윤서혜 학습일기 2019. 7. 10. 15:54
#include <stdio.h>
#include <limits.h>

int main(void)
{
	int x = INT_MAX;
	printf("int형의 최대값 x는 %d 입니다.\n", x); 
	printf("int형의 오버플로우를 봅시다. 만약 1이라도 더한다면 %d처럼 됩니다.",x+1);
	
	return 0;
}

출력하게 되었을때는 -2억정도의 숫자가 나온다. 이것이 오버플로우 현상인데, 숫자의 한개치를 뛰어넘으면 제일 낮은 값으로 출력하게 되는 현상을 말한다.

 

 

또한 #include<limits.h>를 넣지않으면 int형의 최대치 숫자인 INT_MAX를 출력하지 못한다.