returnの値が-1の場合にどのように行を出力するか知りたいです。また、-1が何をするのか(真の場合は1、偽の場合は0など)はわかりませんが、-1の場合はどうなりますか。
#include <stdio.h>
struct date {
int day, month, year;
};
int compare_dates(struct date d1, struct date d2) {
if(d1.year < d2.year)
return -1;
else if(d1.year > d2.year)
return 1;
else if(d1.month < d2.month)
return -1;
else if(d1.month > d2.month)
return 1;
else if(d1.day < d2.day)
return -1;
else if(d1.day > d2.day)
return 1;
else
return 0;
}
int main(void) {
struct date d1, d2;
printf("Enter first date (dd/mm/yyyy): ");
scanf("%2d/%2d/%4d", &d1.day, &d1.month, &d1.year);
printf("Enter second date (dd/mm/yyyy): ");
scanf("%2d/%2d/%4d", &d2.day, &d2.month, &d2.year);
if(compare_dates(d1, d2))
printf("Date1 comes after than Date2");
else if(!compare_dates(d1, d2))
printf("Date1 and Date2 are equal");
else if(-1)
printf("Date1 comes before than Date2");
}