Example #1
0
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;
}