看到这个标题,想实现这样的功能其实挺简单的,用C语言的switch语句加上闰年,平年条件的判断,再加上一定的逻辑可以轻松实现这样的函数,在linux内核中,存在判断闰年平年的接口,我将它移植出来后,写成一个宏,供计算天数的函数来调用,看看是不是可以实现,来,上代码:
#include<stdio.h>
#include<stdlib.h>
enum
{
zero = 0 ,NUM_TWO = 2, NUM_THR = 13 ,tw_e = 28 ,
tw_n = 29 ,st_z = 30 , st_o = 31 ,
};
#define isleap(y) (((y) % 4) == 0 && (((y) % 100) != 0 || ((y) % 400) == 0)) //判断是闰年还是平年
static int years[NUM_TWO][NUM_THR]=
{
{zer