我在C++下面 begginner是我的代碼,我使用FMOD(),其中k的值應該是0.23,但它給它0FMOD()不給預期的答案
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int k;
k=fmod(234.23,3);
cout<<"k="<<k<<endl;
return 0;
}
我正在使用codeblock。
這是編譯器問題嗎?
我在C++下面 begginner是我的代碼,我使用FMOD(),其中k的值應該是0.23,但它給它0FMOD()不給預期的答案
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int k;
k=fmod(234.23,3);
cout<<"k="<<k<<endl;
return 0;
}
我正在使用codeblock。
這是編譯器問題嗎?
您正在將結果分配給類型爲int
的變量,而int
其本質上只能表示整數。
您需要使用浮點類型,例如float
或double
。
對於k,您必須使用float而不是int。整數只能包含精確的數字,但不能包含分數。爲此使用,浮動或雙。
C++是一種強類型語言。
的fmod(234.23, 3)
結果是0.23,但您使用的int
來存儲它,所以0.23轉換爲整數0
你應該聲明爲float k;
請使用float不是int的用於打印正確的值 – piyushj
作爲初學者,你是否認爲你很幸運發現編譯器的問題? –
'int'不能代表'0.23'。你需要一個'float'或'double'值類型。 –