空白字符(空格,製表符,換行符)函數
一.轉換說明符spa
%c 把輸入解釋成一個字符指針
%e,%f,%g,%a,大寫也行 把輸入解釋成一個浮點數字符串
%i 解釋成一個有符號的十進制變量
%o 有符號的八進制原理
%x 有符號的十六進制file
%p 解釋成一個指針循環
%u 無符號的十進制數im
二.修飾符(詳見C primer plus 第五版 79頁)文件
1.* 延後賦值 例子請看C primer plus 第五版 81頁 例題 4.16
三.scanf()的輸入原理(詳見C primer plus 第五版 79頁)
1.非格式轉換符要求的非空白字符,scanf()會捨棄,不會賦給任何變量,該捨棄的放回輸入,等下一次scanf()再來讀取 這裏實際上是一個死循環了,在之後有無限個scanf()的前提下,由於在超過格式轉換符要求的格式後,回車鍵會結束scanf(),開始執行之後的語句
2.scanf()在帶有多個格式轉換符中,ANSI 規定在第一個出錯的地方中止讀取輸入
3.而使用%s說明符,空白字符之外的全部字符均可以接受,因此是跳過空白字符,讀取非空白字符後,保存再次遇到空白字符以前的內容
4.%c 則所用字符都平等
5.scanf()函數容許把普通字符放在格式字符串中,出了空格(無論多少個空格,換行符在輸入時都是能夠的,就算沒有空格也能夠)之外的普通字符,必定要與輸入字符串匹配。例子 80頁
6.scanf()也有返回值判斷 81頁沒有成功讀取,返回一個負數,讀取到文件結尾(end of file )返回EOF