1.++--适用于浮点数
2.实际不使用浮点数的++--
浮点数 包括float 、double、 long double等等都是近似存储所以每一个浮点数的值都不是准确的于是如果采取自加 在一些特殊情况下a的近似值和a+1的近似值会等同即自加完全没有效果 如果用在循环中 就有可能导致死循环.
#include <stdio.h> int main(void) { // your code goes here float f=88888888.5; f++; printf("%f",f);//88888888.000000 return 0; }
double类型的数据用自增和自减没有啥意义,整型数据的自增和自减的意义是只需要一个指令就可以完成,执行的效率很高。浮点数比较复杂,不可能一个指令就能完成自增和自减,所以并不能提高执行效率
[整理]浮点数的自增陷阱
时间: 2024-10-08 13:23:09