scanf函式的輸入

2021-08-31 18:53:39 字數 1123 閱讀 7909

是不是也有人和我一樣,有時候輸入達不到自己預想結果呢?

又很難找到自己的錯誤,覺得輸入的格式是對的,但是儲存卻不再在自己預想的位置。

下面來講一下我關於字元和數字輸入的順序和方式的認識。

首先我們來看第乙個**

#include#includevoid main()

是不是感覺是乙個非常簡單的程式。但有時候不懂也是會出錯的。

例如:如果是輸入數字空格數字空格字母,輸出的的就是

最後一位儲存進去的就是空格字元。這樣就錯了。

如果輸入數字空格數字字母,輸出的就是

這樣就是我們理想的輸入的儲存單位。

我們再換一種輸入格式

void main()

按照上面的第一種方法輸入儲存在c裡面的還是空格字元,

第二中則儲存正確。

我們在看看把字元放在中間輸入的格式

void main()

void main()

這是兩種幾乎相同的輸入格式,假如我們輸入數字空格字元空格數字。

則輸出的是

這裡輸出是預想就和我們的完全不同了。

當我們輸出數字字元數字時,就會和上面一樣輸出符合我們想要儲存是位置了

總結一下輸入的格式,

如果是要求輸入同種型別我們要在中間加入空格把他們隔分隔開,變成想要輸入

的數,而如果遇見這種轉換成不同型別的,例如轉化成字元的,在其中間就不用

輸入空格隔開,系統會自己隔開,如果輸入空格,就把那個空格字元,給了我們

要賦值的變數了,導致我們的賦值錯誤。

Scanf函式的輸入問題

scanf 怎樣讀取輸入?scanf 開始讀取輸入以後,會在遇到的第乙個空白字元空格 blank 製表符 tab 或者換行符 newline 處停止讀取。假定使用了乙個 d說明符來讀取乙個整數。scanf 函式開始每次讀取乙個輸入字元,它跳過空白字元 空格 製表符和換行符 直到遇到乙個非空白字元。因...

C語言中的Scanf輸入函式

1 問題描述 c語言中的scanf函式如果讀取到正確的值,也就是和scanf函式中提前設定的值的型別一致時,該值可以正確被讀入。並且scanf函式的返回值是1,通過對scanf函式的返回值的判斷就可以知道scanf函式是否讀入了正確的值。2 程式 本次使用的編譯器是vscode,測試程式是乙個把華氏...

scanf 函式的格式化輸入

函式原型 int scanf const char restrict format,跟printf 一樣,scanf 使用控制字串和引數列表。但和printf 的區別是,printf 函式使用變數名 變數和表示式 而scanf 函式使用指向變數的指標。scanf 函式所用的轉換說明字元與printf...