#include <stdio.h>

#define TRUE (1)

#define FALSE (0)


int is_leap_year(const int year)

{

if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {

return TRUE;

}

return FALSE;

}


int main(void)

{

int day_in_month[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

int now_year = 2020;

int now_month = 10;

int now_day = 12;

int dday_year = 2021;

int dday_month = 3;

int dday_day = 3;

int now_time = 0;

int dday_time = 0;

int count_day = 0;

int i;

/* is_leap_year(now_year) ? day_in_month[1] = 29 : day_in_month[1] = 28; */

printf("Today : %d-%d-%d ", now_year, now_month, now_day);

printf("D-day : %d-%d-%d ", dday_year, dday_month, dday_day);

for (i = now_year + 1; i < dday_year + 1; i++) {

if (is_leap_year(i) == TRUE) {

count_day += 366;

}

if (is_leap_year(i) == FALSE) {

count_day += 365;

}

}

if (is_leap_year(now_year)) {

day_in_month[1] = 29;

}

for (i = 0; i < now_month - 1; i++) {

now_time += (day_in_month[i]);

}

for (i = 0; i < dday_month - 1; i++) {

dday_time += (day_in_month[i]);

}

now_time += now_day;

dday_time += dday_day;

count_day += (dday_time - now_time);

printf("%d ", count_day);

return 0;

}


배열 안에 저 삼항 연산자 넣으려고 했는데 c언어라 그런지 선언 하면서 바로 값을 초기화 해줘야해서 못 넣네;;

+ 조언해주시면 감사하겠습니다


결과