Pascal 中的 if 语句和最大值

if statement and the maximal value in Pascal

查看这段代码:

我认为如果 z>x 和 y>x 程序不会给出正确的最大值,但令我惊讶的是,它确实给出了正确的值。这是为什么?程序是否比较了 Y 和 Z 并在没有我命令的情况下给出了最大值?

在第一个 if 语句之后,max 保留 xy 中的最大值。然后将此最大值与第二个 if 语句中的 z 进行比较。由于 > 运算符的传递质量,您不需要直接压缩 yz

知道 (z > y)(y > x) 可以确定 z > x,因此您不必比较每个值就可以假设其中一个是最大值。 谈到编译器,我可以建议你将 Sublime 作为一个很好的对象 pascal 编译器,你所要做的就是安装 FPC 并将其添加到构建包中,或者你可以简单地使用 MyPascal,这似乎非常有用,因为你正在使用的这个似乎 old-fashioned.