马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include <stdio.h>
int main()
{
int y, m, d;
int days[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
int i;
long count = 0, z = 0;//z算其余的天数,count用来算中间整年
printf("Please input your birthday:");
scanf("%d-%d-%d", y, m, d);
for(i = y+1; i < 2018; i ++)
{
if(i % 400 == 0 || (i % 4 ==0 && i % 10 != 0))
{
count = count + 366;
}
else
count = count + 365;
}//今天为2018-9-1,算出中间年份的天数(例如1996-8-26日出生,则上面算出1997-1-1至2018-1-1的天数)
for(i = 0; i < 9; i++)
z = z+days[i];//2018-1-1至2018-9-1的天数
for(i = m; i < 12; i++)
z = z+days[i];//以1996-8-26为例,算出1996-9-1至年末的天数
z = z + (days[m-1] - d);//算出出生当天至月末的天数
count = count + z;
printf("You lived %ld days!\n", count);
return 0;
}
程序运行会报Segmentation fault,不知道错在哪里,请大神指导!
scanf("%d-%d-%d", &y, &m, &d);
|