如何使用 scanf() 標準輸入函式

請參考

  1. 課本 page 84~87 及 116-119

  2. Turbo C / Borland C 之線上說明請查詢 scanf

標準輸出入函式庫 (stdio.lib, stdio.h)

scanf() 函式是標準輸出入函式庫中的一員, 在 C 程式中常常藉由此函式從鍵盤上讀入字元資料, 並轉換格式為程式內其它型態的資料, 此稱為 "格式化 (formatted) 的輸入 (input) 函式"

注意:以後會學到 fread, fwrite 之類非格式化的輸出入函式

如何使用 stdio 函式庫內的函式

程式中要使用 scanf() 函式的話, 在使用之前一定要有 #include <stdio.h> 這一列敘述將此 stdio.h 檔案一併含入編譯, 此檔案內有 scanf() 函式及其參數型態的宣告, 宣告一次以後就可以在程式內任何地方使用了。

基本用法:

  1. 由鍵盤讀入一個十進位數字至一整數中, 並讀入一個十進位實數至一浮點變數中,

    請注意:scanf()會將十進位數字字串根據 % 後的指定格式 (d 或是 f) 轉換為二進位的表示方法, & 為取址符號, 請務必使用於目的地變數 (x, y, z) 之前, 原因會在討論指標時解釋。

  2. 由鍵盤讀入一字元至一字元變數中

    請注意:如果 % 之前加一空格的話代表跳過所有空格 (TAB、 space、 及 Enter) 字元,例如:

  3. 在 TURBO C 中讀取 long 型態整數必須用 %ld, 讀取 double 型態浮點數必須用 %lf, 否則執行時讀入的數字會錯誤。

    注意:在 32 位元的編譯器 (例如:Visual C/C++) 中 就無所謂了,只要用 %d 及 %f 就可以了。

程式設計課程 首頁
by Pei-yih Ting
E-mail: pyting@cs.ntou.edu.tw