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输出结果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