我想知道當返回值爲-1時如何打印行。另外,我不知道-1是做什麼的,例如1代表真,0代表假,但是-1代表什麼。返回語句中的-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");
}
「-1」可以表示任何你想要的。 – SLaks 2013-03-17 14:47:38
'compare_dates()'的結果不是一個條件,它是一個數字。 – 2013-03-17 14:56:31