1. 輸出格式控制字元
%d(%i) 十進制帶符号整數,正數不輸出符号;
%ld 十進制長整型輸出;
%c 輸出單個字元,參數為字元 char;
%s 輸出字元串,參數為 char 指針,顯示字元串中所有字元,直到計算機找到 '\0' 停止;
%e 輸出浮點數,以指數形式輸出單、雙精度實數,預設 6 位小數;
%f 輸出浮點數,以小數形式輸出單、雙精度實數,預設 6 位小數;
%g 在f和e之間選擇一個較短格式輸出,不輸出無意義的 0;
%f和%g 與帶小數點的數字比對,例如 5.7f
%lf和%lg 與帶小數點的數字比對,例如 5.7
%u 以十進制輸出無符号整數;
%o 無符号八進制整數,不輸出字首 0 ;
%x 無符号十六進制整數;
%p 輸出位址,按十六進制格式輸出,前面自動加字首 0x;
%02d 輸出:06 形式
%*d 由參數指定輸入位數,不夠補空格
%#x 和 %p 效果一樣;
%#o 在輸出的八進制格式前加字首 0;
2. printf("%-03d", a); // "-"指左對齊,省略指右對齊,"3"指保留三位,不夠補零。
printf("%2.4f", a);
輸出兩位數,十位不足補零:printf("%02d", value)
3. %i 和 %d, 在 printf 裡面沒差別,
但在 scanf 裡面有差別:%d 隻比對十進制,%i 可以比對八進制、十進制、十六進制。
"%"輸出方法:%%;
scanf裡面,%e, %f, %g 可以互換;
scanf("r = %d", &r); // 那麼輸入的時候應該輸入:r = 20 (輸入的時候是否帶空格都可以)