我想知道当返回值为-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");
}