这段代码定义了一个递归函数 `to_binary`,它试图将一个整数转换为二进制表示,但返回的是 `unsigned int` 类型。例如,输入 5 会返回 101(即一百零一),而不是真正的二进制位。 - 函数对负数没有处理,如果输入负数,递归会一直进行,因为 `n/2` 在负数时不会收敛到 0,可能导致无限递归或错误结果。 - 递归逻辑本身是正确的,但返回值类型是整数,当数字较大时,二进制表示会超过 `unsigned int` 的存储范围,导致溢出。例如,输入 1024 会得到错误结果。
Copy this url:
QR-code: