# scanf指令的作用 ## printf的弟弟—scanf - 用法 ```c= scanf("%?",&變數); ``` - `&`也是指標 - [參考文章](https://kopu.chat/c%e8%aa%9e%e8%a8%80-%e8%b6%85%e5%a5%bd%e6%87%82%e7%9a%84%e6%8c%87%e6%a8%99%ef%bc%8c%e5%88%9d%e5%ad%b8%e8%80%85%e8%ab%8b%e9%80%b2%ef%bd%9e/) - 功用 - 程式執行到scanf會停下來等操作者從鍵盤輸入一個符合`%?`的值掃描進程式放到變數中 - 電腦基本操作設備 - 螢幕 - 鍵盤 - 鍵盤有個緩衝區(buffer) - 在stdio中是一組I/O - 電腦螢幕(命令列)是標準輸出 - 電腦鍵盤是標準輸入 ## scanf具體應用 ```c= printf("請輸入年齡"); scanf("%d", &x); ``` - 他會逐次問 - `printf`是一次印 - 格式不對會亂印 - VS下用`printf_s`跟`scanf_s`會報錯 ### 補充 - 寫程式防毒軟體要設定一下,不然可能會刪除檔案 - 有時候終端機錯誤可能是最右邊終端機開太多個 - 初始化效能會比較好嗎?[參考文章](http://squall.cs.ntou.edu.tw/cprog/old/Materials/VariableInitialization.html) - 好像日常設計使用影響不大,如果寫了可以在程式碼前加`//`隱藏為註解 - 用`/*`跟`*/`可以註解數行 - `%.8lf`可以指定小數點下八位以此類推 - `Ctrl+C`可以在終端退出程式 ### scanf功能釋疑:如果字元`%c`不在第一個,會無法輸入被跳過的現象 - 原因 - `\n`=Enter是一個字元 - 被放入緩衝區 - 解法 ```c= char garbege; scanf("%c", &garbege) ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up