【发布时间】:2023-03-21 03:12:01
【问题描述】:
我正在尝试做类似的事情
printf("My age is: %d\n", age); 但我无权访问标准库。相反,我可以访问的打印功能print() 只需要const char*。
我不允许使用 sprintf 或 itoa 或任何类似的东西,因为那根本不可用。有什么方法可以打印号码吗?
附:如果您需要更多上下文,https://github.com/SpinalHDL/VexRiscv/issues/215 它是:)
提前致谢
【问题讨论】:
-
那台机器上有 Unix 操作系统吗?因为我得到的印象是裸机。
-
这不是一个真正的 unix/linux 问题,更多的是如何编写 itoa。
-
这通常使用 recursion 完成,但没有一个答案这样做。
-
@ThomasDickey 为我的答案添加了递归解决方案。
-
fwiw,当我写this 时,我也做了一个递归函数来转换罗马数字。