% [*] [寬度] [長度] 類型
| 字符 | 意義 |
|---|---|
| d | 十進制整數 |
| o | 八進制整數 |
| x | 十六進制整數 |
| u | 無符號十進制整數 |
| f/e | 實數(小數/指數) |
| c | 單字符 |
| s | 字符串(遇空白結束) |
scanf("%d %*d %d", &a, &b); // 輸入 1 2 3 → a=1, 跳過 2, b=3
scanf("%5d", &a); // 輸入 12345678 → a=12345
scanf("%4d%4d", &a, &b); // 輸入 12345678 → a=1234, b=5678
l:長整型 %ld、雙精度 %lfh:短整型 %hd%5.2f 非法)&a),非變數名%c 讀取字符時,若格式串無空格,所有字符(含空白)皆視為有效;加空格 %c %c 可跳過間隔空白%d,%d 需輸入 5,6)
char c = getchar(); // 從鍵盤讀一字符
putchar(c); // 輸出該字符
#include <stdio.h>取得類型或變數佔用的位元組數(編譯期計算)。
void main() {
int a; long b; float f; double d; char c;
printf("%d,%d,%d,%d,%d", sizeof(a), sizeof(b), sizeof(f), sizeof(d), sizeof(c));
}
// 輸出: 2,4,4,8,1 (16位機器上 int/short=2, long/float=4, double=8, char=1)