C語言中printf的用法


輸出控制符

常用的輸出控制符主要有以下幾個:

控制符 說明
%d 按十進制整型數據的實際長度輸出。
%ld 輸出長整型數據。
%md m 為指定的輸出字段的寬度。如果數據的位數小於 m,則左端補以空格,若大於 m,則按實際位數輸出。
%u 輸出無符號整型(unsigned)。輸出無符號整型時也可以用 %d,這時是將無符號轉換成有符號數,然后輸出。但編程的時候最好不要這么寫,因為這樣要進行一次轉換,使 CPU 多做一次無用功。
%c 用來輸出一個字符。
%f 用來輸出實數,包括單精度和雙精度,以小數形式輸出。不指定字段寬度,由系統自動指定,整數部分全部輸出,小數部分輸出 6 位,超過 6 位的四舍五入。
%.mf 輸出實數時小數點后保留 m 位,注意 m 前面有個點。
%o 以八進制整數形式輸出,這個就用得很少了,了解一下就行了。
%s 用來輸出字符串。用 %s 輸出字符串同前面直接輸出字符串是一樣的。但是此時要先定義字符數組或字符指針存儲或指向字符串,這個稍后再講。
%x(或 %X 或 %#x 或 %#X) 以十六進制形式輸出整數,這個很重要。

%x、%X、%#x、%#X 的區別

一定要掌握 %x(或 %X 或 %#x 或 %#X),因為調試的時候經常要將內存中的二進制代碼全部輸出,然后用十六進制顯示出來。下面寫一個程序看看它們四個有什么區別:

  1. # include <stdio.h>
  2. int main(void)
  3. {
  4. int i = 47;
  5. printf("%x\n", i);
  6. printf("%X\n", i);
  7. printf("%#x\n", i);
  8. printf("%#X\n", i);
  9. return 0;
  10. }

在 VC++ 6.0 中的輸出結果:
2f
2F
0x2f
0X2F


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM