完整格式
1.% - x m . n 格式字元
2.有-表示左對齊,無表示右對齊
3.x表示空位需要填的字元
4.m表示最小域寬
5.n表示精度,一般用於實型小數點保留位數,按照四捨五入原則
格式字元
整型%d格式,表示整型
%hd格式,表示短整型
%ld格式,表示長整型
%lld/l64d格式,表示64位整型
%u格式,表示無符號整型,其他長度同d格式
%o格式,表示無符號八進位制整型,對於負數直接將補碼看成正數轉換
%x格式,表示無符號十六進製制整型,x小寫對應的十六進製制為小寫,x大寫對應大寫
實型%f格式,表示小數形式單精度實型
%lf格式,表示小數形式雙精度實型
%e格式,表示指數形式單精度實型;le同理
%g格式,系統自動選定f或e格式,使輸出的寬度最小,且不輸出無意義的0
ps:g/e格式表示的指數形式中e大寫
字元型%c格式,表示單個字元
%s格式,表示字串
其他%p格式,表示指標
%i格式,據說是以前的整型格式字元
%%格式,輸出%
\a:蜂鳴,響鈴
\b:回退:向後退一格
\f:換頁
\n:換行,游標到下行行首
\r:回車,游標到本行行首
\t:水平製表
\v:垂直製表
\\:反斜槓
\':單引號
\":雙引號
\ddd:三位八進位制
\xhh:二位十六進製制
\0:空字元(null)
#include
void test0()
void test1()
void test2()
;char *pc;
/*第一步 : 所有變數都儲存在記憶體中,我們列印一下變數的儲存位址*/
printf("ca =%p\n",ca);
printf("&pc =%p\n",&pc);
/*第二步:所有變數都可以儲存某些值,接著賦值並列印*/
//前面已經有ca[3]=;
pc = ca;
printf("pc =%p\n",pc);
/*第三步:使用指標:1)取值 2)移動指標*/
printf("pc =%p\t",pc); printf("*pc =0x%x\n",*pc); pc=pc+1;
printf("pc =%p\t",pc); printf("*pc =0x%x\n",*pc); pc=pc+1;
printf("pc =%p\t",pc); printf("*pc =0x%x\n",*pc);
printf("//***************==\n");
}void test3()
;int *pi;
/*第一步 : 所有變數都儲存在記憶體中,我們列印一下變數的儲存位址*/
printf("ia =%p\n",ia);
printf("&pi =%p\n",&pi);
/*第二步:所有變數都可以儲存某些值,接著賦值並列印*/
//前面已經有ia[3]=;
pi = ia;
printf("pi =%p\n",pi);
/*第三步:使用指標:1)取值 2)移動指標*/
printf("pi =%p\t",pi); printf("*pi =0x%x\n",*pi); pi=pi+1;
printf("pi =%p\t",pi); printf("*pi =0x%x\n",*pi); pi=pi+1;
printf("pi =%p\t",pi); printf("*pi =0x%x\n",*pi);
printf("//***************==\n");
}
void test4()
嵌入式如何使用printf列印
我們在程式中使用printf把需要列印的資訊列印到控制台上,那麼在嵌入式中如何用printf來輸出列印資訊呢?有兩種方法 其一,把fput 函式重新定義 因為printf 會呼叫fputc 函式向控制台發資料,我們將fputc 重定義,在該函式裡邊用串列埠發資料,所以當我們呼叫printf 時,就可...
基於ARM CLinux嵌入式系統
32位arm嵌入式處理器具有高效能 低軾耗的特性,已被廣泛應用於消費電子產品 無線通訊和網路通訊等領域。clinux是專門為無mmu處理器設計的嵌入式作業系統,支援arm motorola等微處理器。目前國內外採用arm clinux作為嵌入式系統非常普遍。而嵌入式系統的啟動引導技術是嵌入式系統開發...
基於TinyXml的嵌入式Linux
引 言 用自動化抄表代替人工抄表是實現智慧型樓宇的重要手段。傳統的ic卡預付費方式雖然實施方便,但會有卡槽汙染 卡易磨損以及安全性差等缺點,同時也無法實時地監控使用者的用電情況 廉價方便的雙向電力線載波抄表方式由於受電網汙染的影響,難以大面積推廣 專用有線網路實現遠端抄表方式,則會帶來投資規模大 施...