程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> 關於C >> C語言實現printf的基本格式輸出%d,%c,%p,%s

C語言實現printf的基本格式輸出%d,%c,%p,%s

編輯:關於C

關於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 ; 
}
運行結果:

\

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved