① C語言中用scanf函數輸入字元時,為什麼要在輸入控制符%c前面加空格用scanf還有哪些要注意
空格確實不是必須的,但有了空格就可以忽略你輸入的空格。
例如:scanf(" %c" ,&c),你輸入了' a'(a前面有個空格),a就能被c接受。
但控制符前如果沒空格,那c就接受了空格,這個可以防止誤操作,忽略空格輸入,接受第一個非空格輸入。
注意事項:
對於scanf()而言,%c是個較為特殊的說明符。 %c前沒空格,scanf()將讀取標准輸入流中的第一個字元,%c前有空格,scanf()則讀取標准輸入流中第一個非空白字元,屏蔽了空白字元。
scanf
C語言中常用的標准輸入輸出函數,它的常規用法是scanf(「輸入格式」,輸入地址),scanf從輸入緩沖區取入數據按照指定的「輸入格式」存儲到指定的「輸入地址」。
但是有一類問題通常令人頭疼,那就是字元串的讀入,此處僅僅討論使用scanf讀取字元串的一些問題。理論上你只需要定義一個字元指針,然後scanf每次讀入字元存儲到該指針所指的存儲空間,之後指針值自動加1。