• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            小明思考

            高性能服務(wù)器端計(jì)算
            posts - 70, comments - 428, trackbacks - 0, articles - 0
              C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            printf的wrapper

            Posted on 2007-10-12 14:13 小明 閱讀(3041) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): C/C++

            有個(gè)朋友問(wèn)到我為什么下面的代碼會(huì)打印出來(lái)亂碼

             1 #include <stdio.h>
             2 #include <stdarg.h>
             3 
             4 void myprint(char* format, )
             5 {    
             6     va_list mark;    
             7     va_start(mark, format);    
             8     printf(format, mark); //應(yīng)該被替換成vprintf
             9     va_end(mark);
            10 }
            11 int main()
            12 {
            13     myprint("hello %s\n","abcd");
            14     return 0;
            15 }
            16 

            問(wèn)題就出現(xiàn)在第8行的printf的使用上,這里實(shí)際上應(yīng)該使用vprintf

            printf和vprintf的定義:

            int printf( const char *format ,... );
            int vprintf(   const char* format, va_list argptr);

            可以看出printf是接受可變參數(shù)的函數(shù),而vprintf是一個(gè)接受一個(gè)va_list為參數(shù)的非可變參數(shù)的函數(shù)。
            兩者很不同。

            国产福利电影一区二区三区久久久久成人精品综合 | 日韩人妻无码精品久久免费一| 亚州日韩精品专区久久久| 久久综合九色综合网站| 久久综合亚洲欧美成人| 91精品无码久久久久久五月天| 亚洲国产成人久久精品动漫| 国产午夜精品理论片久久影视| 91久久精品视频| 一本久久a久久精品vr综合| 韩国无遮挡三级久久| 亚洲七七久久精品中文国产| 久久99精品久久久久久久久久| 国产亚洲美女精品久久久| 亚洲日本va中文字幕久久| 久久久久亚洲AV成人网人人网站| 亚洲色欲久久久综合网| 亚洲国产成人久久综合区| 久久精品国内一区二区三区| 久久久久久久久久久| 精品综合久久久久久88小说| 日韩精品久久久久久久电影蜜臀| 久久久久噜噜噜亚洲熟女综合| 97久久精品无码一区二区天美| 久久亚洲精品国产亚洲老地址 | 欧美牲交A欧牲交aⅴ久久| 日本精品久久久久久久久免费| 久久精品国产亚洲一区二区| 亚洲精品乱码久久久久久蜜桃图片 | 久久这里只有精品首页| 国产精品久久久99| 国产亚洲欧美成人久久片| 熟妇人妻久久中文字幕| 国内精品久久久久久中文字幕| 色婷婷综合久久久久中文一区二区| 久久男人AV资源网站| 九九久久精品无码专区| 久久青青草原精品国产不卡| 久久久久免费视频| 一本色道久久88综合日韩精品| 久久人人爽人人爽AV片|