这段代码试图用辗转相除法(欧几里得算法)求两个数的最大公约数,但逻辑有错误。 - 循环条件 `c>=0` 会导致死循环,因为余数 `c` 始终非负,且循环内没有正确更新 `c` 的初始值。 - 变量 `result` 的赋值时机不对,应该在循环结束后返回正确的 `b` 值。 提示: - 思考循环何时应该结束:当余数为0时,除数就是最大公约数。检查你的循环条件和变量更新顺序。 - 注意在循环开始前,`c` 的初始值是什么?循环内第一次计算 `c=a%b` 时,`a` 和 `b` 的值是否合理?
Copy this url:
QR-code: