📅  最后修改于: 2023-12-03 15:36:34.965000             🧑  作者: Mango
C 语言提供了多种将整数打印到标准输出的方法,本文将介绍如何使用 write 或 putchar 函数来实现这一功能。
write 函数是 UNIX 系统中常用的函数,用于向指定文件描述符写入数据。在 Linux 等系统中,标准输出通常对应文件描述符为 1。因此,我们可以使用 write 函数将整数打印到标准输出。
#include <unistd.h>
#include <stdio.h>
int main()
{
int num = 123;
char buf[16];
int len = sprintf(buf, "%d", num);
write(1, buf, len);
return 0;
}
在上述代码中,我们先将整数 num 转换为字符串,然后使用 write 函数向标准输出写入该字符串。其中,sprintf 函数用于将整数转换为字符串,函数原型为:
int sprintf(char *str, const char *format, ...);
该函数将格式化的数据写入到字符串 str 中,并返回写入的字符数。
putchar 函数用于向标准输出写入单个字符。我们可以使用循环逐个输出整数 num 的每一位。
#include <stdio.h>
int main()
{
int num = 123;
if (num < 0) {
putchar('-');
num = -num;
}
if (num / 10) {
print_number(num / 10);
}
putchar(num % 10 + '0');
return 0;
}
在上述代码中,我们首先判断整数 num 是否为负数,如果是,则先输出负号,并将整数取相反数。然后,我们先递归输出 num 的高位(即除个位外的部分),再输出最低位(即个位)。
本文分别介绍了使用 write 和 putchar 函数将整数打印到标准输出的方法。在实际应用中,我们可以根据具体需求选择合适的方法。此外,还有 printf 和 puts 等函数可用于将整数打印到标准输出,读者可根据需求选择适合自己的方法。