C语言:格式字符串中的类型

基本格式字符含义详解

模式字符

数据类型

进制

计数法

备注

%c

 char       

-

-

 

%s

char*

-

-

 

%d,%i

int

10

-

 

%u

unsigned int

10

-

 

%o

unsigned int

8

-

 

%x,%X

unsigned int

16

-

x,X的区别是数据中A-F的大小写的区别

%f

double

10

浮点

12.34

%e,%E

double

10

指数

1.234000e+001

%g,%G

double

10

指数 OR 浮点

取其中较短的一种计数法

%a,%A

double

16

指数

Linux/gcc有定义

%p

void*

-

-

(C99) 等价于%08X,%#8x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

扩展格式字符含义

模式字符

可匹配模式

说明

数据类型

%l?

d,I,u,o,x,X

   长整形

long int

%h?

d,I,u,o,x,X

  短 整形

short int

%L?

a,A,e,E,f,F

浮点类型

long double

%ll

-

-

long long(C99)

%ls

-

-

wchar_t*

 

 

 

 

 

 

 

 

 

基本格式字符串总的来说有4类

1) 字符 %c

2) 字符串 %s
3) 整数 %d

4) 浮点%f 

 

浮点数测试

double  x = 12.34;
printf("%f, %e, %E\n",x,x,x);
//打印 12.340000, 1.234000e+001, 1.234000E+001

double x = 12.34;
printf("%f,%g,%G\n",x,x,x);
//打印12.340000, 12.34, 12.34

double x = 12.34;
printf("%f,%a,%A\n",x,x,x);
//打印12.340000, 0x1.8ae147ae147aep+3, 0X1.8AE147AE147AEP+3
//模式a,A只在linux版本gcc有定义

%g测试

printf("%g\n",12345678.1234);
//打印 1.23457e+007

printf("%g\n",12.1234);
//打印 12.1234
//可见都是%g,但是提供的数据太大了自动按照指数方式打印不然就打印浮点,这个模式的时候程序会做判断

%p测试

//Linux/GCC
int a =2;
int *p=&a;
printf("%p\n",p); //0xbfa777b0
printf("%#8x\n",&a); //0xbfa777b0



//VC6
int a =2;
int *p=&a;
printf("%p\n",p); //0012FF44
printf("%08X\n",&a); //0012FF44

 

转载于:https://www.cnblogs.com/code-style/archive/2012/03/14/2396726.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值