我上的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