这段代码试图判断一个整数的各位数字是否从左到右非递增(即每一位不小于后一位)。它从右向左检查相邻两位,如果发现某一位小于或等于它右边的位,就输出YES并结束。 - 你的循环条件 `while(x>9)` 只处理至少两位数的数字,但逻辑是从最低位开始比较,这会导致判断方向反了。例如数字321,你从个位1和十位2比较,发现1<=2就输出YES,但实际从左到右是递减的,应该输出NO。 - 你的判断条件 `digit1<=digit2` 检查的是当前位是否小于等于右边一位,这实际上是在检测非递减(从左到右递增或相等),而不是非递增。你需要调整比较的方向或逻辑。