scanf和printf格式問題
阿新 • • 發佈:2019-02-15
一.scanf函式
1.該函式可以獲取任意資料型別的輸入,但是必須指定輸入格式:
%c | 讀入一個字元 |
%s | 讀入一個字串 |
%d | 讀入一個十進位制數 |
%[^\n] | 讀入一組字串 |
%f | 讀入一個單精度浮點數 |
%lf | 讀入一個雙精度浮點數 |
%0 | 讀入一個八進位制數 |
%x | 讀入一個十六進位制數 |
%e | 讀入一個科學計數法的數 |
如:scanf("%d%d",&num,&num); 這表示連續讀入兩個十進位制整數(你還可以讀入更多)
在這裡‘&’表示取地址符,表示將輸入的數值寫入num的地址記憶體地址。
說明:所有的變數多需要儲存在記憶體地址中,在輸入時在變數前加上'&'.但是特別注意字串變數名就代表一個地址記憶體,因此前面並不需要新增'&'.
如: scanf("%s%c",name,&c);
3.按格式輸入
- 輸入值以“,”逗號分隔:scanf("%d,%d",&num1,&num2);
- 輸入值以“:”冒號分隔:scanf("%d:%d",&num1,&num2);
- 輸入值以“/”斜槓分隔:scanf("%d/%d",&num1,&num2);
二.printf()函式
該函式是用來顯示字元、字串、數值等等。
在printf()函式中可以使用scanf()函式的格式控制符,還可以使用轉義字元。
\n | 換行,將游標移到下一行 |
\t | 水平製表符 |
\r | 回車 |
\\ | 反斜槓符(\) |
\' | 單引號' |
\'' | 雙引號 |
- 給出指定輸出寬度:printf("%5d",num); (右對齊)預留5個寬度來輸出一個整數。printf("%-5d",num);(左對齊)預留5個寬度來輸出一個整數。
- 對浮點數,輸入指定小數點後幾位:printf("%.5f",num1);輸出小數點後五位數。printf("%5.2f",num2); 預留5個寬度來輸出一個保留小數點後兩位的浮點數。
說明:在c語言中不只scanf()和printf()函式用於輸入輸出,輸入輸出函式還有——getchar()和putchar();gets()和puts();