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

flag=1和flag==1为啥结果不一样,不都是1吗

#include <stdio.h>

int main() 

{

int year = 2008;

int month = 8;

int day = 8;

int sum,flag;


switch(month)

{

case 1:sum = 0;break;

case 2:sum = 31;break;

case 3:sum = 59;break;

case 4:sum = 90;break;

case 5:sum = 120;break;

case 6:sum = 151;break;

case 7:sum = 181;break;

case 8:sum = 212;break;

case 9:sum = 243;break;

case 10:sum = 273;break;

case 11:sum = 304;break;

case 12:sum = 334;break;

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


}

sum = sum+day;

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

{

flag==1;

}

else

{

flag==0;

}

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

sum++;

printf("%d年%d月%d日是该年的第%d天!",year,month,day,sum);


return 0;

}


提问者:慕粉1631391925 2017-04-06 11:11

个回答

  • Mingao
    2017-04-06 11:38:58


    flag=0;是将右边的0赋值给flag,此时flag=0

    flag==0;这个==是做比较flag是否=0,如果已赋值flag=1,输出flag仍然是1.