我是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。
这是编译器问题吗?
答案 0 :(得分:1)
您将结果分配给int
类型的变量,而int
本质上只能表示整数。
您需要使用浮点类型,例如float
或double
。
答案 1 :(得分:1)
对于k,必须使用float而不是int。整数只能包含确切的数字,但不能包含分数。对于此用途,浮动或双重。
答案 2 :(得分:0)
C ++是一种强类型语言。
fmod(234.23, 3)
的结果为0.23,但您使用int
来存储它,因此将0.23转换为整数0。
您应该声明为float k;