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
廣告