<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## Scanf函數基本概念 ### scanf函數介紹 - scanf函數是一個阻塞式函數 + 程序會停在`scanf`函數出現的地方, 直到接收到數據才會執行后面的代碼 - scanf函數原型包含在標準輸入輸出頭文件`stdio.h`中,用于接受鍵盤輸入的內容。 + 格式:scanf("格式控制字符串",輸入項地址列表); + 例如: scanf("%d", &num); + 格式控制字符串: * 規定數據輸入的格式,由格式控制符和普通字符組成,格式控制符和百分號(%)一起使用, 用來說明輸入數據的數據類型(格式字符)。 + 輸入項地址列表: * 需要接收數據的變量地址,這些輸入項與格式控制字符串在類型和數量上要對應,當有多個 輸入項時,各個地址名之間以逗號“,”分隔。輸入格式和變量類型要保持一致。 > 在C語言中,一個變量的地址可以通過地址運算符&得到。例如:定義int a,b;則a,b的 地址為&a,&b ### scanf函數格式控制符 |格式|意義| |--|--| |d|輸入一個十進制整數| |o|輸入一個八進制整數| |x|輸入一個十六進制整數| |i|輸入一個有符號或無符號的十進制、八進制、十六進制整數| |u|輸入一個無符號十進制整數| |f 、e或E、 g或G|輸入一個小數形式或指數形式的浮點數| |c|輸入一個字符| |s|輸入一個字符串| - 獲取整形數據 ``` // 1.定義變量用于接收輸入數據 int num = 0; // 2.利用scanf函數接收用戶輸入數據 scanf("%d", &num); // 3.打印驗證結果 printf("num = %d", num); ``` - 獲取實數型數據 ``` // 1.定義變量用于接收輸入數據 float num = 0; // 2.利用scanf函數接收用戶輸入數據 scanf("%f", &num); // 3.打印驗證結果 printf("num = %d", num); ``` - 非法的輸入 + 除"空格","回車","tab"之外, 如果輸入的數據和scanf接收的數據不匹配將會自動結束接收 ## Scanf函數注意事項 ### scanf使用注意事項 - 如果在輸入時,輸入了多個空格、回車、Tab都會被系統忽略的 - 如果要獲取的內容是多個整數,中間輸入了多個空格、回車、Tab都會被系統忽略 - 如果要獲取的內容是多個實型,中間輸入了多個空格、回車、Tab都會被系統忽略 - 非法的格式輸入,得不到想要的結果 - 混合整形和字符型數據接收 + 當整形的數和字符混合輸入時,要避免“空格” 添麻煩 + 為防止混合輸入空格造成的錯誤,可以通過添加普通的分隔符解決 - 關于使用"\n"的問題 + scanf函數當遇到回車的時候,會結束執行 + 所以在scanf中,盡量不要使用 \n + 如果在scanf中使用了\n, 需要原樣輸入"\n" ## Scanf函數實現原理 ### scanf的運行原理 - 系統會將用戶輸入的內容了放入輸入緩沖區 - scanf方式會從輸入緩沖區中逐個取出內容賦值給格式符, 如果類型不一致不會修改原有數據 - 如果輸入緩沖區的內容不為空,scanf會一直從緩沖區中獲取,而不要求再次輸入
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看