格式化字元
格式化字元都是由「%」百分比符號開始。以下列舉常用者,有些現在不曉得是什麼的東西,以後會再闡述。
正負號
符號 | 用途 |
---|---|
+ | 強制顯示正負號 |
空格 | 假如非負號時顯示空格 |
顯示精度
符號 | 用途 |
---|---|
# | 數字代表顯示的位數,若數字不夠,則以空白補齊 |
0 | 修飾顯示的位數,若數字不夠,在左側補零對齊 |
.# | 小數點後的數字代表double的小數後精度 |
變數長度修飾
變數長度修飾加在型別前
字元 | 解釋 |
---|---|
hh | 修飾int型別,代表signed char或unsigned char |
h | 修飾int型別,代表short int或unsigned short int |
l(ell) | 修飾所有型別,對於浮點類型無意義,對於int成為long int或unsigned long int |
ll | 修飾int型別,代表long long int或unsigned long long int |
L | 修飾double,代表long double |
j | 修飾int型別,代表intmax_t或uintmax_t型別 |
t | 修飾int型別,代表ptrdiff_t型別 |
z | 修飾int型別,代表size_t型別 |
型別字元
字元 | 解釋 |
---|---|
d | int類別,十進位 |
i | int類別,輸入時判斷進位法 |
u | unsigned int,十進位 |
o | unsigned int,八進位 |
x, X | unsigned int,十六進位 |
f | double |
e | double 科學記號 |
c | char 型別用Ascii印出 |
s | char陣列(字串) |
p | void指標 |
% | 就是一個百分比符號 |
printf 格式化標準輸出
我們試用一下
#include <stdio.h>
int main() {
int a = 10;
printf("Hello %+d\n", a);
printf("%10d\n", a);
printf("%010d\n", a);
unsigned long long int b = 20L;
printf("Hi %llu\n", b);
printf("Aloha %llx\n", b);
double c = 3.14;
printf("%f\n", c);
printf("%e\n", c);
printf("%.1f\n", c);
printf("%d, %llu, or %f\n", a, b, c);
return 0;
}
執行結果
Hello +10
10
0000000010
Hi 20
Aloha 14
3.140000
3.140000e+00
3.1
10, 20, or 3.140000
scanf 標準格式化輸入
其實差不多,但是有差異
#include <stdio.h>
int main() {
int a;
scanf("%d", &a); // 要加&,address of operator 取址運算子
printf("Hello%x\n", a);
}
scanf這裡要加取址運算子&,否則會造成電腦大暴走。原因會在以後闡述。
假如輸入23
23[Enter]
Hello17
👉【幫我們一個忙!】👈
👋如果您喜歡這篇文章,請在下方按5個Like!
❤您的支持是我們最大的動力!
您只要登入帳號(Facebook、Google),在下方按5個Like,我們就會收到來自LikeCoin基金會的贊助。
您只需要支持我們,完全不會花到錢!