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