C语言实现printf的基本格式输出%d,%c,%p,%s
程序员文章站
2022-07-04 12:22:11
关于printf的实现,想必看过我之前发表的文章的伙伴们已经了解了不少基本的知识。好了,接下来不多说了,直接上,看看一种简单的实现方式:
#include
#define my...
关于printf的实现,想必看过我之前发表的文章的伙伴们已经了解了不少基本的知识。好了,接下来不多说了,直接上,看看一种简单的实现方式:
#include #define myfflush(out) do {} while (0) typedef int uint32_t; //输出十进制数 static void print_dec (uint32_t n) { if (n >= 10) { //递归调用 print_dec(n / 10); n %= 10; } putchar((char)(n + '0')); } //输出十六进制数 static void print_hex(unsigned int hex) { int i = 8; putchar('0'); putchar('x'); while (i--) { unsigned char c = (hex & 0xf0000000) >> 28; putchar(c < 0xa ? c + '0' : c - 0xa + 'a'); hex <<= 4; } } //输出字符串 void print_string(const char *s) { while (*s) { putchar(*s); s++; } } //输出字符 void print_char(char ch) { putchar(ch); } typedef unsigned long volatile ulv ; typedef unsigned long ul ; int main(void) { //输出10进制数 print_dec(10); putchar('\n'); //输出16进制数 print_hex(0xa); putchar('\n'); //输出字符串 print_string("hello world"); myfflush(stdout); return 0 ; }运行结果:
上一篇: 国外寒假和闺蜜旅游去哪儿好呢?
下一篇: 绝对不可错过的迪士尼美味