scanf 是一個在 C 語言中常用的輸入函式,它用於從標準輸入流(如鍵盤)讀取數據,並存儲到程式中指定的變數中。其用法和注意事項如下:
函式定義。scanf 函式的定義是 int scanf(const char * restrict format, ...);這意味著它可以從格式化的輸入中讀取數據。格式化輸入意味著用戶可以根據指定的格式從輸入中提取數據,並將其存儲在變數中。
使用方法。scanf 的使用通常遵循 scanf("%format", &var); 的格式,其中 %format 是格式化字元串,指定了要讀取的數據類型(如 %d 用於讀取整數,%f 用於讀取浮點數等),&var 是指向要存儲數據的變數的指針。
讀取多個值。可以通過在格式字元串中指定多個 %format 來讀取多個值,例如 scanf("%d%d", &a, &b); 會讀取兩個整數,並分別存儲在變數 a 和 b 中。
格式化字元串。格式化字元串可以包含各種格式說明符,如 %d、%f、%c 等,以指定要讀取的數據類型。每個格式說明符都對應於要讀取的數據的類型。
返回值。scanf 函式的返回值是成功讀取並賦值的變數數。如果遇到輸入結束或錯誤,則返回 EOF。
注意事項。在讀取字元串時,應確保目標數組的大小足以容納輸入的字元加上空字元(null terminator),以避免緩衝區溢出。同時,scanf 在處理空白字元(如空格、制表符或換行符)時可能會按照預期工作,但在處理其他字元(如逗號)時可能需要特別注意。
通過這些基本指南,可以有效地使用 scanf 函式來從用戶那裡獲取輸入數據。