问答详情
源自:4-17 switch与if语句的应用

为什么运行出来结果不对啊,求指点...还是不太懂switch语句怎么用...

#include<stdio.h>

int main() 

    /* 定义需要计算的日期 */

    int year = 2008;

    int month = 8;

    int day = 8;

    int i,flag;

    switch(month)

{

case 1:i=0;break;

case 2:i=i+31;break;

case 3:i=i+28;break;

case 4:i=i+31;break;

case 5:i=i+30;break;

case 6:i=i+31;break;

case 7:i=i+30;break;

case 8:i=i+31;break;

case 9:i=i+31;break;

case 10:i=i+30;break;

case 11:i=i+31;break;

case 12:i=i+30;break;

default:printf("一年只有12个月");break;

}

i=i+day;

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

flag=1;

else

flag=0;

if(flag=1&&month>=2)

i++;

    printf("%d年%d月%d日是这一年的第%d天\n",year,month,day,i);

    return 0;

}


提问者:菠萝不困 2015-08-01 14:11

个回答

  • onemoo
    2015-08-01 15:18:41
    已采纳

    最后那个if的控制表达式中,应该是 flag == 1 吧,你写成了给flag赋值1。