fmod()没有给出预期的答案

时间:2016-05-01 15:08:48

标签: c++

我是c ++的先天 下面是我的代码,我使用的是fmod(),其中k的值应该是0.23但它给它0

#include<iostream>
#include<cmath>
using namespace std;
int main()
{
 int k;
 k=fmod(234.23,3);
 cout<<"k="<<k<<endl;
 return 0;
}

我正在使用codeblock。

这是编译器问题吗?

3 个答案:

答案 0 :(得分:1)

您将结果分配给int类型的变量,而int本质上只能表示整数。

您需要使用浮点类型,例如floatdouble

答案 1 :(得分:1)

对于k,必须使用float而不是int。整数只能包含确切的数字,但不能包含分数。对于此用途,浮动或双重。

答案 2 :(得分:0)

C ++是一种强类型语言。

fmod(234.23, 3)的结果为0.23,但您使用int来存储它,因此将0.23转换为整数0。

您应该声明为float k;