printf 轉換字元以及型別是什麼?


printf 用來列印無空白欄位待填充的字串。

例如,

printf ("An ordinary string..");
printf ("Testing 1,2,3...");

如上,已使用過的下一個最簡單的案例是打印出單個整數。

int number = 48;
printf ("%d",number);

兩者的組合如下所示 −

int number = 48;
printf ("Some number = %d",number);

此最後示例的結果是打印出以下內容 −

Some number = 48

下面是 printf 的不同字母列表 −

  • d − 有符號十進位制整數
  • u − 無符號十進位制整數
  • x − 十六進位制整數
  • o − 八進位制整數
  • s − 字串
  • c − 單個字元
  • f − 固定小數浮點數
  • e − 科學記數法浮點數
  • g − 採用較短的 f 或 e

示例

以下是 C 程式的示例,演示printf 轉換字元和型別的使用 −

 線上演示

/* printf Conversion Characters and Types */
#include <stdio.h>
main (){
   int i = -10;
   unsigned int ui = 10;
   float x = 3.56;
   double y = 3.52;
   char ch = ’z’;
   char *string_ptr = "any old string";
   printf ("signed integer %d
", i);    printf ("unsigned integer %u
",ui);    printf ("This is wrong! %u",i);    printf ("See what happens when you get the ");    printf ("character wrong!");    printf ("Hexadecimal %x %x
",i,ui);    printf ("Octal %o %o
",i,ui);    printf ("Float and double %f %f
",x,y);    printf (" ditto %e %e
",x,y);    printf (" ditto %g %g
",x,y);    printf ("single character %c
",ch);    printf ("whole string -> %s",string_ptr); }

輸出

執行以上程式後,會生成以下結果 −

signed integer -10
unsigned integer 10
This is wrong! 4294967286See what happens when you get the character wrong!Hexadecimal fffffff6 a
Octal 37777777766 12
Float and double 3.560000 3.520000
ditto 3.560000e+000 3.520000e+000
ditto 3.56 3.52
single character z
whole string -> any old string

更新時間:2021 年 9 月 1 日

1K+ 人瀏覽

啟動你的 職業生涯

完成課程獲得認證

開始
廣告