我上的Turbo C++ 4.5版我不理解给定的程序是如何给出了输出
&我正在输出“C++”编写这个程序。还告诉我这是什么“0.7F”这里的意思?
#include<stdio.h>
int main()
{
float a=0.7;
if(a<0.7f)
printf("C\n");
else
printf("C++\n");
}
我上的Turbo C++ 4.5版我不理解给定的程序是如何给出了输出
&我正在输出“C++”编写这个程序。还告诉我这是什么“0.7F”这里的意思?
#include<stdio.h>
int main()
{
float a=0.7;
if(a<0.7f)
printf("C\n");
else
printf("C++\n");
}
这是很基本的,你应该若干声明为单精度浮点数后阅读constants
f
。在代码中,它打印C++,因为变量a是确实不小于0.7F
'f'声明一个数字为*单精度*浮点数。 –
感谢那= P有时我忘记了这些细微差别。更新了我的答案。 – LainIwakura
"Floating point: Accuracy problems"
的f
后缀意味着它是一个32位单精度浮点而不是正常的64位双精度浮点数,否则字面值。
如果有人想知道,它会在编译为C时打印相同... –
您无法找到一个涉及浮点值比较的现有问题吗?真? –
显然没有努力去尝试自己找到答案。 – Chris