1. 程式人生 > >scanf和printf格式問題

scanf和printf格式問題

一.scanf函式

1.該函式可以獲取任意資料型別的輸入,但是必須指定輸入格式:

%c 讀入一個字元
%s 讀入一個字串
%d 讀入一個十進位制數
%[^\n] 讀入一組字串
%f 讀入一個單精度浮點數
%lf 讀入一個雙精度浮點數
%0 讀入一個八進位制數
%x 讀入一個十六進位制數
%e 讀入一個科學計數法的數
2.該函式可以連續讀入

如: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 回車
\\ 反斜槓符(\)
\' 單引號'
\'' 雙引號
1.輸入指定格式
  • 給出指定輸出寬度:printf("%5d",num); (右對齊)預留5個寬度來輸出一個整數。printf("%-5d",num);(左對齊)預留5個寬度來輸出一個整數。
  • 對浮點數,輸入指定小數點後幾位:printf("%.5f",num1);輸出小數點後五位數。printf("%5.2f",num2); 預留5個寬度來輸出一個保留小數點後兩位的浮點數。

說明:在c語言中不只scanf()和printf()函式用於輸入輸出,輸入輸出函式還有——getchar()和putchar();gets()和puts();