在"挑战"在app sololearn中,回答C#相关的问题,问题是"下面的输出是否相同?"
Console.Write(5 / 2 + 2.5); // 4.5
Console.Write(5.0 / 2 + 2.5); // 5
当我运行它时,确实会得到不同的结果(在代码中显示为注释)。为什么下面的输出不一样?
答案 0 :(得分:2)
如果:Console.Write(5 / 2 + 2.5);
5/2被认为是整数/整数除法。看看这段代码:
int i = 5;
int j = 2;
Console.WriteLine(i / j);
//prints 2
如果:Console.Write(5.0 / 2 + 2.5);
5.0 / 2被认为是双/整数除法。相同的代码是:
double i = 5.0;
int j = 2;
Console.WriteLine(i / j);
//prints 2.5
所以在你的情况下,5/2 + 2.5的结果为2 + 2.5 => 4.5
但是在5.0 / 2 + 2.5中我们得到2.5 + 2.5 => 5