为什么当我的所有输入都是整数时,使用float而不是int会给我不同的结果?
{
int a = 17, b = 5;
int c = a/b;
cout<<c;
}
{
float a = 17, b = 5;
float c;
c = a/b;
cout<<c;
}
答案 0 :(得分:2)
这与价值无关。浮点类型变量将其值保持为浮点数,即使您为其指定了整数值也是如此。因此,如果您将 17 分配给浮点变量,则您的变量会将此值保存为 17.0 并执行任何操作根据浮点运算。
答案 1 :(得分:0)
/运算符执行的除法是不同的。
如果两者都是整数,
c = a / b;
将执行整数除法,因此17/5 --> 3
。
如果两者都是双打,
c = a / b;
将执行浮点除法,因此17.0/5.0 --> 3.4
。