16位編譯器
char :1個字節
char*(即指針變量): 2個字節
short int : 2個字節
int: 2個字節
unsigned int : 2個字節
float: 4個字節
double: 8個字節
long: 4個字節
long long: 8個字節
unsigned long: 4個字節
32位編譯器(看這里就行了,與16位機,64位機比較,粗體type為不同的,其余的都是相同)
char :1個字節
char*(即指針變量): 4個字節(32位的尋址空間是2^32, 即32個bit,也就是4個字節。同理64位編譯器)(16位機,32位機,64位機各不相同)
short int : 2個字節
int: 4個字節(16位機是2B,32位&64位是4B)
unsigned int : 4個字節(16位機是2B,32位&64位是4B)
float: 4個字節
double: 8個字節
long: 4個字節(16位&32位是4B,64位是8B)
long long: 8個字節
unsigned long: 4個字節(16&32位是4B,64位是8B)
64位編譯器
char :1個字節
char*(即指針變量): 8個字節
short int : 2個字節
int: 4個字節
unsigned int : 4個字節
float: 4個字節
double: 8個字節
long: 8個字節
long long: 8個字節
unsigned long: 8個字節
%c輸出的是一個單字節字符
%f輸出的是單精度實數
%d輸出的是十進制整形數
%e輸出的是科學記數法的實行數
%s輸出是字符串
%g輸出雙精度實型數
%ld輸出的是long類型的數
%lld輸出的是long long 類型的數
%u輸出的是無符號整形數
printf("%.10lf\n",f_a)輸出小數點后10位,否則默認是小數點后6位
double 類型的輸出為printlf("%lf",a);
例如: double d=123456789.12345;
printf("%.2lf",d);
輸出為123456789.12,如果對小數點不控制,輸出則為123456789.123450
結論:格式控制字符串的一般形式: %[修飾符]轉換說明符,其中修飾符為任選項