这段代码试图将一个整数转换为二进制表示,但实现有误。函数 `to_binary` 的递归逻辑不正确,导致它只返回了最低位,而没有正确组合所有位。 - 在 `to_binary` 函数中,`return n%2;` 会立即结束函数,后面的递归调用 `to_binary(n/2+n%2);` 永远不会执行。你需要重新考虑如何将递归结果与当前位组合起来。 - 递归调用的参数 `n/2+n%2` 也不正确。将十进制数转换为二进制时,通常是将 `n` 除以 2 并递归处理商,而不是商加余数。
Copy this url:
QR-code: