C語言學完了,你真的懂了scanf函數?
很多人可能到現在也不是很明白stdio.h這個頭文件有什麼作用,初學者看書的時候應該看到過這句話:
"C語言本身是不包含輸入輸出語句的。"
printf函數和scanf函數一樣,都被聲明在頭文件stdio.h裡。(特殊IDE除外)
如果在開頭沒有加stdio.h,你如果不用輸入輸出語句是沒有一點問題的,代碼為證:
先看下scanf的用法
scanf(格式控制,地址表列)
格式控制和printf函數一樣,地址表列是由若干個地址組成的表列,可以是變量的地址,或字符串的首地址
上面是scanf函數的格式,這裡著重強調一下地址列表。
小案例:
a是一個整型變量,上面的scanf後半句加了一個&符號,讀者要弄清楚&是幹什麼用的:&是一個取地址運算符,&a表示a變量的地址,這樣才符合scanf的用法。
scanf還有一個特點是:
從鍵盤輸入的樣式一定要和你在代碼中輸入的樣式一樣,如果一樣則會出現邏輯性錯誤。
代碼為證:
錯誤1:輸出一個數後換行
錯誤2:兩個數之間有逗號
正確輸出
此外還需要注意的一點事:在輸入數值數據時,如輸入空格、回車、Tab鍵或遇到非法字符,認為該數據結束。
直白話就是,如果想錄入空格,不要用scanf函數,不是錄不了,比較複雜,想了解用法的,可以自行百度,gets函數可以直接錄入空格。
每天一個編程小知識,期待你的關注
閱讀更多 瘋男學編程 的文章