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

来源:4-17 switch与if语句的应用

慕粉1631391925

2017-04-06 11:11

#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;

}


写回答 关注

1回答

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

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

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

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926207 学习 · 20797 问题

查看课程

相似问题