C语言关于浮点型赋值的注意事项
无论是float 还是 double 赋值的时候都要注意下面几点:
- 注意赋初值,且若要为0 则赋值 0.0 而不是 0,因为这样更规范,例如要赋值3,则 赋值 3.0;
- 参与运算并把结果赋予浮点型时,我们要注意参与运算的值最少都要一个浮点型,不然结果是错误的;
1. 例子:
#include<stdio.h> int main() { float a = 0.0; // 0.0更规范 double b= 0.0; // 0.0更规范 /////////////////////////////////////////// }
2. 例子:
#include<stdio.h> int main(void) { float a = 1/2; // 参与运算的值至少有一个是浮点型才能自动转换为浮点型并赋予 a printf("%f",a); return 0; } /* 你以为这样输出的值是0.500000 ? 不! 它会输出 0.00000!为什么? 因为参与运算的值最少一个是浮点型! 如下是正确的*/ #include<stdio.h> int main(void) { float a = 1.0/2; // 这才是正确的!自动转换为浮点型并赋予 a printf("%f",a); return 0; } /*虽然是正确的!但是不规范 最最最规范的是全部都是浮点型进行运算啦!这样就最规范了! 如下*/ #include<stdio.h> int main(void) { float a = 1.0/2.0; // 这才是正确的!自动转换为浮点型并赋予 a printf("%f",a); return 0; } /*此时输出的是 0.500000,真真正正的浮点型运算*/