printf()函数详解

int printf ( const char * format, … );
printf的格式控制字符串组成如下:

%[flags][width][.prec][length]type
%[标志][最小宽度][.精度][类型长度]类型。

2.1类型(type)
type用于规定输出数据的类型,含义如下:
字符 对应数据类型 含义 示例
d/i int 输出十进制有符号32bits整数,i是老式写法 printf("%i",123);输出123
o unsigned int 无符号8进制(octal)整数(不输出前缀0) printf(“0%o”,123);输出0173
u unsigned int 无符号10进制整数 printf("%u",123);输出123
x/X unsigned int 无符号16进制整数,x对应的是abcdef,X对应的是ABCDEF(不输出前缀0x) printf(“0x%x 0x%X”,123,123);输出0x7b 0x7B
f/lf float(double) 单精度浮点数用f,双精度浮点数用lf(printf可混用,但scanf不能混用) printf("%.9f %.9lf",0.000000123,0.000000123);输出0.000000123 0.000000123。注意指定精度,否则printf默认精确到小数点后六位
F float(double) 与f格式相同,只不过 infinity 和 nan 输出为大写形式。 例如printf("%f %F %f %F\n",INFINITY,INFINITY,NAN,NAN);输出结果为inf INF nan NAN
e/E float(double) 科学计数法,使用指数(Exponent)表示浮点数,此处”e”的大小写代表在输出时“e”的大小写 printf("%e %E",0.000000123,0.000000123);输出1.230000e-07 1.230000E-07
g float(double) 根据数值的长度,选择以最短的方式输出,%f或%e printf("%g %g",0.000000123,0.123);输出1.23e-07 0.123
G float(double) 根据数值的长度,选择以最短的方式输出,%f或%E printf("%G %G",0.000000123,0.123);输出1.23E-07 0.123
c char 字符型。可以把输入的数字按照ASCII码相应转换为对应的字符 printf("%c\n",64)输出A
s char* 字符串。输出字符串中的字符直至字符串中的空字符(字符串以空字符’\0‘结尾) printf("%s",“测试test”);输出:测试test
S wchar_t* 宽字符串。输出字符串中的字符直至字符串中的空字符(宽字符串以两个空字符’\0‘结尾) setlocale(LC_ALL,“zh_CN.UTF-8”);
wchar_t wtest[]=L"测试Test";
printf("%S\n",wtest);
输出:测试test
p void* 以16进制形式输出指针 printf("%010p",“lvlv”);输出:0x004007e6
n int* 什么也不输出。%n对应的参数是一个指向signed int的指针,在此之前输出的字符数将存储到指针所指的位置 int num=0;
printf(“lvlv%n”,&num);
printf(“num:%d”,num);
输出:lvlvnum:4
% 字符% 输出字符‘%’(百分号)本身 printf("%%");输出:%
m 无 打印errno值对应的出错内容 printf("%m\n");
a/A float(double) 十六进制p计数法输出浮点数,a为小写,A为大写 printf("%a %A",15.15,15.15);输出:0x1.e4ccccccccccdp+3 0X1.E4CCCCCCCCCCDP+3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
printf() 是 C 语言中的一个非常重要的输出函数,可以将格式化的数据输出到终端或其他设备上。它的原型如下: ```c int printf(const char *format, ...); ``` 其中第一个参数 format 是输出格式的字符串,第二个参数是可变参数,表示要输出的数据。 printf() 函数的输出格式字符串有特定的格式控制字符,可以控制输出内容的样式和格式。常见的格式控制字符如下: - %d:以十进制整数形式输出; - %f:以浮点数形式输出; - %c:以字符形式输出; - %s:以字符串形式输出; - %p:以指针地址形式输出; - %x:以十六进制整数形式输出; - %%:输出 % 符号本身。 除了常见的格式控制字符外,还可以使用一些修饰符来控制输出格式,例如: - %5d:输出宽度为 5 的十进制整数; - %-5d:输出宽度为 5 的左对齐的十进制整数; - %+d:输出带符号的十进制整数; - %#x:输出带前缀的十六进制整数。 下面是一些示例代码: ```c #include <stdio.h> int main() { int a = 123; float b = 3.1415926; char c = 'A'; char str[20] = "hello, world"; void *ptr = &a; printf("a = %d\n", a); printf("b = %f\n", b); printf("c = %c\n", c); printf("str = %s\n", str); printf("ptr = %p\n", ptr); printf("%5d\n", 123); printf("%-5d\n", 123); printf("%+d\n", 123); printf("%#x\n", 0x123); return 0; } ``` 运行结果如下: ``` a = 123 b = 3.141593 c = A str = hello, world ptr = 0x7ffc1c2b7afc 123 123 +123 0x123 ``` 注意,printf() 函数输出时,需要使用转义字符来输出一些特殊字符,例如换行符 \n、制表符 \t 等等。 printf() 函数还有一些高级用法,例如使用格式化字符串来控制输出格式,以及使用文件流来输出数据等等。如果想了解更多关于 printf() 函数的内容,可以参考相关的 C 语言教程和手册。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值