首页 > 电脑

运行程序出来这个

更新时间2019-10-23 06:24:46

#include<stdio.h>

int main()

{

int m0,y0,d;

scanf("%d,%d",m0,y0);

if(m0==2)

{

if(y0%4==0)

{

if(y0%100==0)

{

if(y0%400==0)

{

d=29;

}

else

{

d=28;

}

}

else

{

d=29;

}

}

    }

    else if(m0==1||3||5||7||8||10||12)

    {

    d=31;

}

else if(m0==4||6||9||11)

{

d=30;

}

else if(m0>12)

{

printf("invalid mouth input");

}

else

{

printf("%d",d);

}

return 0;

}

运行出来这个Process exited after 6.712 seconds with return value 3221225477,求查错


你的程序,完全不符合C逻辑

1。scanf("%d,%d",m0,y0);

初学者都会犯的致命错,C的整形输入要用地址的,正确的

scanf("%d,%d",&m0,&y0);

2。if(m0==1||3||5||7||8||10||12)

这个是哪个老师或教材上教你可以这么写的,你细细去看下C的逻辑运算部分,这个表达式能表示什么?

可以告诉你的是,它与

if(m0==1)等价

具体你研究下

正确的只能是

if (m0==1 || m0==3 || m0==5 || m0==7 || m0==8 || m0==10 || m0==12)

3.你的整个if ...else语句,结构有问题,只有所有条件不成立才会有输出。你最后一个肯定不能是else的

先自己改下,有问题再补充


上一篇:以下Python语句中错误的是()。

下一篇:javaca.java没错,但是javaa,报错,显示如下,求解