void calcAge(date* present, date* birth) { if (present->day < birth->day) { present->day += DAYS_PER_MONTH; birth->month += 1; } int calcDay = present->day - birth->day; if (present->month < birth->month) { present->month += MONTHS_PER_YEAR; birth->year += 1; } int calcMonth = present->month - birth->month; int calcYear = present->year - birth->year; if (calcDay < 0 || calcMonth < 0 || calcYear < 0) { throwException(); return; } if (calcDay == 0 && calcMonth == 0 && calcYear == 0) { printf("You are born today\n"); return; } puts("your age: "); printAge(calcDay, calcMonth, calcYear); printf("\n"); }
int main() { //循环调用十次函数,演示静态变量的作用 for(int i=0; i<10; i++){ printAge(); } return 0; }