c语言scarf函数原型,scanf 函数原型.doc
scanf 函數原型.doc
scanf 函數原型
scanf 函數原型
int scanf( const char *format, ... ); scanf()函數是格式化輸入函數,它從標準輸入設備(鍵盤) 讀取輸入的信息。 其調用格式為: scanf("",); 函數 scanf() 是從標準輸入流 stdin 中讀內容的通用子程序,可以讀入全部固有類型的數據并自動轉換成機內形式。
編輯本段scanf的返回值
scanf()函數返回成功賦值的數據項數,讀到文件末尾出錯時則返回EOF。 如: scanf("%d,%d", &a, &b); 如果a和b都被成功讀入,那么scanf的返回值就是2 如果只有a被成功讀入,返回值為1 如果a和b都未被成功讀入,返回值為0 如果遇到錯誤或遇到end of file,返回值為EOF。 且返回值為int型. 例:使用scanf函數輸入數據。 #include int main() { int a,b,c; printf("輸入 a, b, c\n"); scanf("%d,%d,%d", &a, &b, &c); printf("a = %d b = %d c = %d\n", a, b, c); fflush(stdin); return 0; } 注意上面的scanf("%d,%d,%d",&a,&b,&c);中%d,%d,%d之間有逗號,在輸入數據時也要加逗號,如果去掉逗號,輸入時就不用逗號,而用空格,tab鍵或回車鍵將各個數據隔開
編輯本段格式字符說明
在 C99 中,format 用 restrict 修飾。 format 指向的控制串由以下三類字符組成:
格式說明符
轉換字符(就是%后跟的部分) a 讀浮點值(僅適用于 C99) A 讀浮點值(僅適用于 C99) c 讀單字符 d 讀十進制整數 i 讀十進制、八進制、十六進制整數 e 讀浮點數 E 讀浮點數 f 讀浮點數 F 讀浮點數(僅適用于 C99) g 讀浮點數 G 讀浮點數 o 讀八進制數 s 讀字符串 x 讀十六進制數 X 讀十六進制數 p 讀指針值 n 至此已讀入值的等價字符數 u 讀無符號十進制整數 [ ] 掃描字符集合 % 讀 % 符號(百分號) 附加格式說明字符表修飾符說明 L/l 長度修飾符 輸入"長"數據 h 長度修飾符 輸入"短"數據 W 整型常數 指定輸入數據所占寬度 * 表示本輸入項在讀入后不賦值給相應的變量
空白符
空白字符會使scanf()函數在讀操作中略去輸入中的一個或多個空白字符。
非空白符
一個非空白字符會使scanf()函數在讀入時剔除掉與這個非空白字符相同的字符。 說明: (1)%s 表示讀串而 %d 表示讀整數。格式串的處理順序為從左到右,格式說明符逐一與變元表中的變元匹配。為了讀取長整數,可以將 L / l 放在格式說明符的前面;為了讀取短整數,可以將 h 放在格式說明符的前面。這些修飾符可以與 d、i、o、u 和 x 格式代碼一起使用。 (2)默認情況下,a、f、e 和 g 告訴 scanf() 為 float 分配數據。 如果將 L / l放在這些修飾符的前面,則 scanf() 為 double 分配數據。使用 L 就是告訴 scanf(),接收數據的變量是 long double 型變量。 (3)如果使用的現代編譯器程序支持 1995 年增加的寬字符特性, 則可以與 c 格式代碼一起,用 l 修飾符說明類型 wchar_t 的寬字符指針;也可以與 s 格式代碼一起,用 l 修飾符說明寬字符串的指針。l 修飾符也可以用于修飾掃描集,以說明寬字符。 (4)控制串中的空白符使 scanf() 在輸入流中跳過一個或多個空白行。空白符可以是空格(space)、制表符(tab)和新行符(newline)。 本質上,控制串中的空白符使 scanf() 在輸入流中讀,但不保存結果,直到發現非空白字符為止。 (5)非空白符使 scanf() 在流中讀一個匹配的字符并忽略之。例如,"%d,%d" 使 scanf() 先讀入一個整數,讀入中放棄逗號,然后讀另一個整數。如未發現匹配,scanf() 返回。 (6)scanf() 中用于保存讀入值的變元必須都是變量指針,即相應變量的地址。 對于字符串數組或字符串指針變量,由于數組名和指針變量名本身就是地址,因此使用scanf()函數時,不需要在它們前面加上"&"操作符。 (7)在輸入流中,數據
總結
以上是生活随笔為你收集整理的c语言scarf函数原型,scanf 函数原型.doc的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言计算输入的字母数字个数字,请问这个
- 下一篇: 短时能量法代码c语言,[蓝桥杯][算法提