Hi guys im having a slight problem passing the month and year variable to a function that i have created called int totalDays(unsigned year, unsigned month) now when i do a print inside the function it prints 0. Even though i have inputted using a key for example 6 for the month and 2006 for the year.

So pretty much after i have entered the input for month and year it does not carry the value that i have entered into the totalDays function instead its always 0 why is that?

Code:
```int main(void)
{
unsigned  month;
unsigned  year;
int i;
int daysOfMonth[] = {31,28,31,30,31,30,31,31,30,31,30,31};

month = getMonth();
year  = getYear();

displayCalendar(month, year);

/* function call : if its a leap year february is now 29 days instead of 28*/
if(isLeapYear(year))
{

daysOfMonth[1] = 29;  /* change feb to 29 days*/
}

return EXIT_SUCCESS;
}

/****************************************************************************
* Function getMonth() prompt the user for a number MIN_MONTH to MAX_MONTH and
* returns that number. The number 0 is valid because this indicates that the
* user wants to select all months.
****************************************************************************/
unsigned getMonth()
{

/*** declare variables*/

char *prompt = "Please enter a month between 0 - 12 !\n";
char *month;
int valMonth;
int monthValid;

do
{
monthValid = TRUE;
month = getUserInput(prompt);

valMonth = strtod(month,NULL);
monthValid = validateMonth(valMonth);
}
while(!monthValid);
/*printf("hello %s",month);*/
/*printf("Please enter a month between 0 - 12\n");*/

/* validation check if month entered is less then 0 > 12*/

/*doint arr[] = {1,2,3};
{
fgets(buff, BUFF_SIZE, stdin);

*month = atoi(buff);

while(flag == 1 || *month <0 || *month >12)
{
flag = 0;

printf("Wrong input for month from 0 - 12 only!\n");
printf("Please enter a month between 0 - 12\n");

fgets(buff, BUFF_SIZE, stdin);
*month = atoi(buff); month = getUserInput(prompt, result);
tmpMonth = validateMonth(valMonth, prompt, result);

}

month

}
while(flag != 0 );
*/

return EXIT_SUCCESS;

}

/****************************************************************************
* Function getYear() prompts the user for a number MIN_YEAR to MAX_YEAR and
* returns that number.
****************************************************************************/
unsigned getYear(char *month)
{
char *prompt = "Please enter the year\n";
char *year;
int valYear;
int yearValid;

do
{
year = getUserInput(prompt);
valYear = strtod(year,NULL);
yearValid = validateYear(valYear);

}
while(!yearValid);

return EXIT_SUCCESS;
}

/****************************************************************************
* Function displayCalendar() displays the calendar for the user.
* The function will display the calendar for a whole month.
* If the user supplied a month of "0", then a calendar for a whole year
* is displayed instead each month displayed under the previous one (you
* don't need to try to display months side by side).
* Give attention to getting the output format exactly as shown below
* (including headings and alignment). Here's an example for March 2006:
* --------------------
*      March 2006
*  S  M Tu  W Th  F  S
*           1  2  3  4
*  5  6  7  8  9 10 11
* 12 13 14 15 16 17 18
* 19 20 21 22 23 24 25
* 26 27 28 29 30 31
*
****************************************************************************/
void displayCalendar(unsigned month, unsigned year)
{
/* function called totalDays();*/
/* total days % 7 finds out how many spaces for each month*/
/* figure out when to print a new line*/
int calDays;

calDays = totalDays(month, year);

}

/****************************************************************************
* Function readRestOfLine() is used for buffer clearing. Source:
* https://inside.cs.rmit.edu.au/~sdb/teaching/C-Prog/CourseDocuments/
****************************************************************************/
{
int c;

/* Read until the end of the line or end-of-file. */
while ((c = fgetc(stdin)) != '\n' && c != EOF);

/* Clear the error and end-of-file flags. */
clearerr(stdin);
}

char* getUserInput(char *prompt)
{
char *result;
char buff[BUFF_SIZE];

printf(prompt);

result = fgets(buff, BUFF_SIZE, stdin);

if(result == NULL)
{

printf("Error please enter the input again!\n");

}
else if(result[strlen(result)-1] != '\n')
{
}

return result;

}

int validateMonth(unsigned  month)
{

if(month<0 || month>12) /* flag 1 for true*/
{

printf("Month error 0 or less or equal to 12 please\n");
return FALSE;
}

return TRUE;

/*return 1;*/
}

int validateYear(unsigned year)
{

if(year<0 || year>3000)
{
printf("between 0 - 3000 only!!\n");
return FALSE;
}

return TRUE;
}

int isLeapYear(unsigned year)
{
if((year%400 == 0)|| ( year%4==0 && year % 100 != 0))
{

return TRUE;
}
else
{
return FALSE;
}

}

int totalDays(unsigned year, unsigned month)
{

printf("year is:%d  month is:%d", year, month);

/******* in here it should print what i have inputted in the month and year but it always gives me 0? why is that?*******/

return EXIT_SUCCESS;
}```