Мой код получает эти предупреждения, и я не уверен, как их исправить.
Предупреждение: 'return' со значением, в функции, возвращающей void [включено по умолчанию]
Ошибка: пустое значение не игнорируется, так как должно быть
Вот мой код:
void print_month(int month, int year, int first_day, int year_view){
int width, row, col;
int days = days_per_month[month - 1];
if (month == 2){
days += leap_year_correction(year);
}
--month;
if (year_view){
row = (month /3) * 9 +2;
col = (month % 3) * 22;
} else{
row = col = 0;
}
if (year_view){
width = 10 + strlen(month_names[month])/2;
sprintf(grid[row] + col, "%*s", width, month_names[month]);
} else{
width = 8 + strlen(month_names[month])/2;
sprintf(grid[row] + col, "%*s %d", width, month_names[month], year);
}
sprintf(grid[row + 1] + col, "Su Mo Tu We Th Fr Sa");
sprintf(grid[row + 2] + col, "%*s", 3 * first_day, "");
row += 2;
for (int i=1; i <= days; i++){
sprintf(grid[row] + col + 3 * first_day, "%2d", i);
if ((first_day = (first_day + 1) % 7) == 0){
row += 1;
}
}
return first_day;
}
Следующая часть - код из моей основной программы
first_day = find_first_day(month < 0 ? 1 : month, year);
if (month < 0){
sprintf(grid[0] + 30, "%d", year);
for (int i=1; i <= 12; i++){
first_day = print_month(i, year, first_day, 1);
}
} else{
print_month(month, year, first_day, 0);
}
print_grid(month < 0);
return 0;