描述
C庫函數int scanf(const char *format, ...)從標準輸入讀取格式化輸入。
聲明
以下是 scanf() 函數的聲明。
int scanf(const char *format, ...)
參數
format- 這是包含以下一項或多項的 C 字符串 -
空白字符、非空白字符和格式說明符.格式說明符將類似於[=%[*][width][modifiers]type=]如下所述 -
不。 | 參數和描述 |
---|---|
1 |
* 這是一個可選的起始星號,表示數據將從流中讀取但被忽略,即它沒有存儲在相應的參數中。 |
2 |
width 這指定了當前讀取操作中要讀取的最大字符數。 |
3 |
modifiers 指定與 int(在 d、i 和 n 的情況下)、unsigned int(在 o、u 和 x 的情況下)或 float(在 e、f 和 g 的情況下)不同的大小,用於由相應的附加參數:h:short int(對於 d、i 和 n),或 unsigned short int(對於 o、u 和 x) l:long int(對於 d、i 和 n),或 unsigned long int(對於 o、 u and x), or double (for e, f and g) L:long double (for e, f and g) |
4 |
type 指定要讀取的數據類型以及預期讀取方式的字符。見下表。 |
fscanf 類型說明符
類型 | 合格輸入 | 參數類型 |
---|---|---|
c | 單個字符:讀取下一個字符。如果指定的寬度不為 1,則該函數讀取寬度字符並將它們存儲在作為參數傳遞的數組的連續位置中。最後沒有附加空字符。 | 字符 * |
d | 十進製整數:數字前麵可選地帶有 + 或 - 符號 | 整數 * |
e, E, f, g, G | 浮點數:包含小數點的十進製數,可以選擇前麵是 + 或 - 符號,後麵可以是 e 或 E 字符和一個十進製數。有效條目的兩個示例是 -732.103 和 7.12e4 | 漂浮 * |
o | 八進製整數: | 整數 * |
s | 字符串。這將讀取後續字符,直到找到空格(空格字符被視為空白、換行符和製表符)。 | 字符 * |
u | 無符號十進製整數。 | 無符號整數 * |
x, x | 十六進製整數 | 整數 * |
additional arguments- 根據格式字符串,函數可能需要一係列附加參數,每個參數包含一個要插入的值,而不是格式參數中指定的每個 %-tag(如果有)。這些參數的數量應該與期望值的 %-tags 的數量相同。
返回值
成功時,該函數返回成功讀取的參數列表的項目數。如果在讀取時發生讀取錯誤或到達文件末尾,則設置適當的指示符(feof 或 ferror),如果在任何數據可以成功讀取之前發生任何一種情況,則返回 EOF。
示例
下麵的例子展示了 scanf() 函數的用法。
#include <stdio.h>
int main () {
char str1[20], str2[30];
printf("Enter name:");
scanf("%s", str1);
printf("Enter your website name:");
scanf("%s", str2);
printf("Entered Name:%s\n", str1);
printf("Entered Website:%s", str2);
return(0);
}
讓我們編譯並運行上麵的程序,它將在交互模式下產生以下結果 -
Enter name:admin Enter your website name:www.tutorialspoint.com Entered Name:admin Entered Website:www.tutorialspoint.com
相關用法
- C語言 scanf()和gets()的區別用法及代碼示例
- C語言 setlocale()用法及代碼示例
- C語言 sinh()用法及代碼示例
- C語言 strcspn()用法及代碼示例
- C語言 setlinestyle()用法及代碼示例
- C語言 showbits()用法及代碼示例
- C語言 sqrt()用法及代碼示例
- C語言 system()用法及代碼示例
- C語言 strtol()用法及代碼示例
- C語言 sprintf()用法及代碼示例
- C語言 sscanf()用法及代碼示例
- C語言 snprintf()用法及代碼示例
- C語言 strrchr()用法及代碼示例
- C語言 strftime()用法及代碼示例
- C語言 strtok()用法及代碼示例
- C語言 strncat()用法及代碼示例
- C語言 宏 setjmp()用法及代碼示例
- C語言 strupr()用法及代碼示例
- C語言 strlen()用法及代碼示例
- C語言 strtod()用法及代碼示例
注:本文由純淨天空篩選整理自 C library function - scanf()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。