1.4년에 한번씩 윤년

2.4년으로 나눠떨어져도 100으로 나눠떨어지면 윤년아님.

3.100으로 나눠떨어져도 400으로 나눠떨어지면 윤년임.


int IsLeapYear(int year) {

int isLeapYear;

isLeapYear = (year % 400 == 0) || ((year % 4 == 0) && (year % 100 != 0));

}


메인(){

printf("2000=%d, 2012=%d, 2015=%d \n", IsLeapYear(2000), IsLeapYear(2012), IsLeapYear(2015));

}


이거 돌리면 2000은 5, 2012는 20, 2015는 5나오던데


뭐가 문제임??


year가 2000일경우에

(year@0==0)은 1이고

((year % 4 == 0) && (year % 100 != 0))은 1&&0이어서 0이라

0 || 1하면 1되는데


왜 5가 나오는거지