这段代码试图判断一个整数的各位数字是否从左到右严格递减(即每一位都比前一位小)。但代码中存在逻辑错误。 - 条件 `if(cur>last&&cur==last)` 永远不可能为真,因为一个数不可能同时大于和等于另一个数。这里应该检查的是当前位是否大于或等于前一位,如果是则说明不是严格递减。 - 变量 `last` 初始化为个位数,然后循环从十位开始向左比较,但比较的方向是反的:你实际上是在检查从右向左是否递增,而不是从左向右递减。 提示: - 思考一下,要判断从左到右严格递减,应该从最高位开始比较,还是从最低位开始?你的循环顺序是否匹配这个方向? - 检查条件 `cur>last&&cur==last`,这个条件在逻辑上有什么问题?正确的条件应该是什么?