为了账号安全,请及时绑定邮箱和手机立即绑定

为什么不管我输入的year是平年还是闰年,二月份的天数总是28呢?

int main()

{

    int year,month,day;

    int i,j,n;

    int a[12];

    scanf ("%d%d%d",&year,&month,&day);

    printf ("%d\t%d\t%d\n",year,month,day);

    for (i=0;i<=12;i++){

        if (i==0){

            a[i]=31;

        }else if(i==1){

            a[i]=28;

        }else if(i%2==1){

            a[i]=31;

        }else{

            a[i]=30;

        }

    }

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

        a[1]=29;

    }else{

        a[1]=28;

    }

    for (i=0;i<=12;i++){

        printf ("%d\t",a[i]);

    }

return 0;

}

为什么我不管输入year是平年还是闰年,二月份的天数都是28呢?我搞不懂。。。。。

正在回答

1 回答

我找到错误地方了,我在第一个for循环的时候,给i设定条件的时候是i<=12,但是我的数组长度为12,数组越界了,把这个<=改为< ,一切正常了

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么不管我输入的year是平年还是闰年,二月份的天数总是28呢?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信