printf 转换字符及其类型是什么?

printf 的用途是打印出一个字符串,没有要填充的空白字段。

例如,

printf ("一个普通的字符串..");
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,以较短者为准

示例

以下是使用 printf 转换字符和类型的 C 程序-

/* 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\n", i);
   printf ("unsigned integer %u\n",ui);
   printf ("This is wrong! %u",i);
   printf ("看看当你得到时会发生什么 ");
   printf ("性格不对!");
   printf ("Hexadecimal %x %x\n",i,ui);
   printf ("Octal %o %o\n",i,ui);
   printf ("Float and double %f %f\n",x,y);
   printf (" ditto %e %e\n",x,y);
   printf (" ditto %g %g\n",x,y);
   printf ("single character %c\n",ch);
   printf ("whole string -> %s",string_ptr);
}
输出结果

执行上述程序时,会产生以下结果 -

signed integer -10
unsigned integer 10
This is wrong! 4294967286看看当你得到时会发生什么 性格不对!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