gpt4 book ai didi

putchar() 可以打印一个整数吗?

转载 作者:太空宇宙 更新时间:2023-11-04 00:40:10 27 4
gpt4 key购买 nike

如何仅在 putchar() 的帮助下打印整数。我想在不使用外部存储的情况下做到这一点。
这个问题在去年的一次采访中被问到。

最佳答案

在面试中遇到模糊的要求时,表达您的假设是个好主意。

我认为关于只能使用 putchar 的要求意味着它是我唯一可以调用的库函数。我还假设“无外部存储”意味着我无法明确创建缓冲区。如果面试官同意我的假设,我会继续:

void pr_int(int n) {
if (n < 0) {
putchar('-');
n = -n;
}
if (n / 10 != 0)
pr_int(n / 10);
putchar((n % 10) + '0');
}

如果面试官随后评论说 n = -n; 会因 INT_MIN 而失败,如下所述,那么我会将其重写为:

void pr_uint(unsigned int n) {
if (n / 10 != 0)
pr_uint(n / 10);
putchar((n % 10) + '0');
}

void pr_int(int n) {
if (n < 0) {
putchar('-');
n = -n;
}
pr_uint((unsigned int) n);
}

关于putchar() 可以打印一个整数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11975780/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com