<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之旅 廣告
                # C 庫函數 - vprintf() ## 描述 C 庫函數 **int vprintf(const char *format, va_list arg)** 使用參數列表發送格式化輸出到標準輸出 stdout。 ## 聲明 下面是 vprintf() 函數的聲明。 ``` int vprintf(const char *format, va_list arg) ``` ## 參數 * **format** -- 這是字符串,包含了要被寫入到標準輸出 stdout 的文本。它可以包含嵌入的 format 標簽,format 標簽可被隨后的附加參數中指定的值替換,并按需求進行格式化。format 標簽屬性是 **%[flags][width][.precision][length]specifier**,具體講解如下: | specifier(說明符) | 輸出 | | --- | --- | | c | 字符 | | d 或 i | 有符號十進制整數 | | e | 使用 e 字符的科學科學記數法(尾數和指數) | | E | 使用 E 字符的科學科學記數法(尾數和指數) | | f | 十進制浮點數 | | g | 自動選擇 %e 或 %f 中合適的表示法 | | G | 自動選擇 %E 或 %f 中合適的表示法 | | o | 有符號八進制 | | s | 字符的字符串 | | u | 無符號十進制整數 | | x | 無符號十六進制整數 | | X | 無符號十六進制整數(大寫字母) | | p | 指針地址 | | n | 無輸出 | | % | 字符 | | flags(標識) | 描述 | | --- | --- | | - | 在給定的字段寬度內左對齊,默認是右對齊(參見 width 子說明符)。 | | + | 強制在結果之前顯示加號或減號(+ 或 -),即正數前面會顯示 + 號。默認情況下,只有負數前面會顯示一個 - 號。 | | (space) | 如果沒有寫入任何符號,則在該值前面插入一個空格。 | | # | 與 o、x 或 X 說明符一起使用時,非零值前面會分別顯示 0、0x 或 0X。 與 e、E 和 f 一起使用時,會強制輸出包含一個小數點,即使后邊沒有數字時也會顯示小數點。默認情況下,如果后邊沒有數字時候,不會顯示顯示小數點。 與 g 或 G 一起使用時,結果與使用 e 或 E 時相同,但是尾部的零不會被移除。 | | 0 | 在指定填充 padding 的數字左邊放置零(0),而不是空格(參見 width 子說明符)。 | | width(寬度) | 描述 | | --- | --- | | (number) | 要輸出的字符的最小數目。如果輸出的值短于該數,結果會用空格填充。如果輸出的值長于該數,結果不會被截斷。 | | * | 寬度在 format 字符串中未指定,但是會作為附加整數值參數放置于要被格式化的參數之前。 | | .precision(精度) | 描述 | | --- | --- | | .number | 對于整數說明符(d、i、o、u、x、X):precision 指定了要寫入的數字的最小位數。如果寫入的值短于該數,結果會用前導零來填充。如果寫入的值長于該數,結果不會被截斷。精度為 0 意味著不寫入任何字符。 對于 e、E 和 f 說明符:要在小數點后輸出的小數位數。 對于 g 和 G 說明符:要輸出的最大有效位數。 對于 s: 要輸出的最大字符數。默認情況下,所有字符都會被輸出,直到遇到末尾的空字符。 對于 c 類型:沒有任何影響。 當未指定任何精度時,默認為 1。如果指定時不帶有一個顯式值,則假定為 0。 | | .* | 精度在 format 字符串中未指定,但是會作為附加整數值參數放置于要被格式化的參數之前。 | | length(長度) | 描述 | | --- | --- | | h | 參數被解釋為短整型或無符號短整型(僅適用于整數說明符:i、d、o、u、x 和 X)。 | | l | 參數被解釋為長整型或無符號長整型,適用于整數說明符(i、d、o、u、x 和 X)及說明符 c(表示一個寬字符)和 s(表示寬字符字符串)。 | | L | 參數被解釋為長雙精度型(僅適用于浮點數說明符:e、E、f、g 和 G)。 | * **arg** -- 一個表示可變參數列表的對象。這應被 &lt;stdarg&gt; 中定義的 va_start 宏初始化。 ## 返回值 如果成功,則返回寫入的字符總數,否則返回一個負數。 ## 實例 下面的實例演示了 vprintf() 函數的用法。 ``` #include <stdio.h> #include <stdarg.h> void WriteFrmtd(char *format, ...) { va_list args; va_start(args, format); vprintf(format, args); va_end(args); } int main () { WriteFrmtd("%d variable argument\n", 1); WriteFrmtd("%d variable %s\n", 2, "arguments"); return(0); } ``` 讓我們編譯并運行上面的程序,這將產生以下結果: ``` 1 variable argument 2 variable arguments ```
                  <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>

                              哎呀哎呀视频在线观看