C语言实现printf的基本格式输出%d,%c,%p,%s

来源:互联网 发布:js把图片转换成base64 编辑:程序博客网 时间:2024/06/11 17:34

关于printf的实现,想必看过我之前发表的文章的伙伴们已经了解了不少基本的知识。好了,接下来不多说了,直接上源码,看看一种简单的实现方式:

      

#include <stdio.h>#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 ; }
运行结果:


2 0
原创粉丝点击