C語言:格式字串中的類型

來源:互聯網
上載者:User

基本格式字元含義詳解

模式字元

資料類型

進位

計數法

備忘

%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

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.