为什么在我使用类型强制转换的地方给我输出2?

时间:2019-08-24 04:55:33

标签: c++ casting

我正在尝试使用以下代码键入强制类型转换为float的类型。在使用类型转换之前,我正在工作。但这是行不通的。请帮帮我。

int n;
n=5;
n=(float)n/2;
cout<<n<<endl;

“我希望5/2的输出为2.5,但实际输出为2。”

2 个答案:

答案 0 :(得分:2)

  

我希望5/2的输出为2.5,但实际输出为2?

要获得2.5作为n类型而不是float类型的结果int,整数不能像2.5那样保留浮点数。

尝试此版本

int n = 5;
float res = (float)n/2;

并打印res

答案 1 :(得分:0)

您的参数n是整数。因此,您尝试为其分配浮点数,但他是整数。您应该使用另一个float类型的变量或打印它。