#include<stdio.h>
#include<stdbool.h> int main()
{
int year;
bool leap; //把leap定义为bool ,则原来的1就是true,0 就是false
scanf("%d", &year); if(year % != )
leap = false;//第一层,不能被4整除,不是闰年。
else if(year % != )
leap = true;//第二层,否则,能被4整除,接下来按顺序判断不能被100整除,暂时定为闰年(实际上就是闰年)。
else if(year % != )
leap = false;//第三层,否则,不能被4和100整除,看能否被400 整除,不能,不是闰年。
else //第四层,否则, 不能被4和100整除,能被400整除,是闰年。
leap = true;
if(leap){ //leap == true 和 leap == 1 以及 leap 等价。注意如果用printf %d 输出true ,结果为1.
printf("%d is leap", year);
} else{
printf("%d is not leap", year);
}
return ;
}
1.bool是逻辑变量,但是true和false 是逻辑常量。这样做提高可读性。
2.注意,非零的数值(包括负数)赋值给一个逻辑变量,会自动变为1(true)。
3.逻辑变量初始化的值是0。
4.逻辑型变量可以不用头文件,然后以“_Bool”直接定义。