關於C語言的scanf問題

2022-06-10 06:37:14 字數 784 閱讀 9491

1樓:

鍵盤的輸入是先讀入到快取,然後scanf再從快取中將資料讀出來按照格式賦值給相應的變數。

一次的輸入如果沒有被讀完,下次可以繼續使用,也可以呼叫fflush(stdin)函式將快取內容清空。

因此,你可以一次輸入很多,也可以只輸入乙個

2樓:虎光牆

執行後在輸入給第二個

3樓:匿名使用者

那要看scanf的格式如何了,比如第乙個scanf是讀兩個字串,那麼你輸入3個字串的話,系統從輸入流中拿出2個字串就結束第乙個scanf了,然後執行第2個scanf。

你要理解輸入流,讀整型數預設是以空格和回車為分隔符的,無論你怎麼輸入,1、2、3都是給第乙個scanf,456給第2個scanf。

輸入1 2 3 4 5 6時,123給第乙個scanf,而4 5 6還在輸入流當中。

4樓:陳冠鋼

都可以的。這要看你把scanf函式放在哪個位置比如下面程式分兩次輸入,分別計算:

#include "stdio.h"

void main( )

5樓:**夢幻

c語言的scanf會按照「不可見字元」為分割來解析你的輸入。也就是說,乙個空格、乙個製表符、乙個回車什麼的都是一樣的。

你可以輸入12

3456

都可以。

6樓:匿名使用者

這種問題,你直接編譯好了試一試不就行了,也太沒有自學能力了吧?

c語言scanf的疑問,C語言scanf的疑問

你換了while語句中的scanf位置後,那麼while語句前的scanf得到的x值就永遠都不會參與到while語句中的 t x 這樣你輸入的第乙個數字x都是無效的!補充的第一問 c.它前面最近的未配對的if 第二問 以偶數為例,a為偶數時,a 2為0,你的要求是此時以下表示式為假。a.a 2 1 ...

c語言scanf函式格式問題

寒寒家 首先明確 1.對於 d的輸入,會忽略之前的空格 2.對於 c的輸入則不會忽略。3.對於 d的輸入,會被字元截斷,這也就是 輸入 10a20b 的時候,也不會錯的原因了。正確答案是a x1接收了10,y1接收了字元a,之後是一個空格,而輸入的是 d,所以會忽略空格,所以x2接收了20,y2接收...

c語言關於for迴圈中使用scanf連續輸入的問題or no

include int main for i 0 i return 0 c語言迴圈中變數的輸入問題 include main printf no return 0 初學c語言,關於for迴圈中scanf函式應用的一點小疑問?你在輸入第二行按下回車之後,輸入的這行內容就被存在緩衝區裡,scanf就會按...