#include<stdio.h>
void main()
{
float a = 2.3;
if(a == 2.3) {
pritnf("hello");
}
else {
printf("hi");
}
}
Run Code Online (Sandbox Code Playgroud)
它在输出中打印"hi",或者我们可以说如果条件得到假值.
#include<stdio.h>
void main()
{
float a = 2.5;
if(a == 2.5)
printf("Hello");
else
printf("Hi");
}
Run Code Online (Sandbox Code Playgroud)
打印你好.
Ker*_* SB 12
变量a是一个float接近数学值2.3的值.
文字2.3也是一个double接近数学值2.3的值,但因为它double具有更高的精度float,所以这可能是与值不同的值a.二者float并double只能代表值的有限数,所以有不能精确通过任一这两种类型来表示一定的数学实数.
在比较中a == 2.3,左操作数从提升float到double.此促销是准确的并保留价值(如所有促销所做的那样),但如上所述,该值可能与2.3文字的值不同.
要在浮点数之间进行比较,可以使用适当的浮点字面值:
assert(a == 2.3f);
// ^
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
367 次 |
| 最近记录: |