bool if float

本文详细介绍了C语言中bool类型的实现方式,指出bool实际上是枚举变量,通常由编译器定义true和false的值。同时,文章分享了在比较普通变量和0,以及浮点数与0比较时的工程经验,强调了正确使用条件语句的重要性,并提供了浮点数比较时的精度设定方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

标准C语言中是没有标准的bool类型的,bool由编译器制定,所以不同的编译器true或false不一定一样

bool类型的实际变量实际是枚举变量

typedef enum
{
      true = 1 ,
       false = 0
}bool;

条件只判断是0还是非0

if(-1)也是成立的

普通变量和0比较时,要把0写在左边!!!
这是工程经验

if(i==0) --》if (i=0)编译器不会提示这种错误,致命错误啊!!!

if (0==i)【推荐使用】

float型变量是不能直接和0比较的,需要定义精度

float型数不是用离散存储的,因为小数是连续的,计算机比较容易模拟出离散型的,但是比较难模拟出连续的

#define E 0.0000001

float f = 5.0

if (((5-E)<=f)&&(f<=(5+E)))

现在的新型编译器内部都对浮点型进行了一定优化,所以一般情况下不适用精度比较的方法也不会出问题,但是以前的编译器是没有优化的,尤其是从事嵌入式开发,最好谨慎一点


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值