C语言问题,求大神解决,我是小白,最好解释下原因,谢谢拉。

2025-06-27 20:04:12
推荐回答(2个)
回答1:

double类型属于浮点数,在计算机中不能直接对浮点数做==和!=判断。
浮点数需要只能判断>或者<。
因为精度的问题,导致内存中相同的数据有很多表示,所以,x!=3.0
恒成立。
因此,会形成死循环!

回答2:

对于实型的数据最好不要进行==或!=的判断。因为在存储实型数据时会存在误差。这样就不能精确的判断是否相等或不等。