为什么C++不同的计算方式算一个东西,结果却不同

问题遇到的现象和发生背景

一道蓝桥杯的题目《直线》

问题相关代码,请勿粘贴截图

img


这是答案:

img


为什么算b的时候不能用b=p[i].y-p[i].x*k;
是算是出问题了吗,答案中不过是把k展开化简了一下,为什么结果会不一样

答案中不过是把k展开化简了一下-----这个你还得仔细看看,不是展开一下的结果啊