#include "stdafx.h"
#include "stdio.h"
#include "math.h"
int main()
{
float c;
printf("Type c");
scanf("%f", &c);
printf("C is c: %f ",c);
while(getchar()!='\n');
getchar();
return 0;
}
非常簡單的代碼,我剛開始與C 對於大多數數字工作正常,但是,例如,如果我輸入47.2然後打印我47.200001與88.4321輸出88.432098 但與其他號碼,如5.4工程確定5.400000 我使用Microsoft Visual Studio 10.scanf浮點數,打印浮點數,不同的值?
另一件事,如果上面的代碼,而不是把float c我把雙我不能夠printf我應該把什麼,而不是%f? 但它更擔心我的第一個問題,也許這是與編譯器有關,也許我正在編譯C代碼作爲C++,我不知道。
%lf將打印雙打 – 2011-12-14 21:28:02
`%lf`和`double` ftw – Nakilon 2012-11-28 12:37:26