任何接收可變參數的函數都應該可以從傳入的參數本身來得到參數的數目。 類 printf 函數從格式字符串中的格式說明符來 確定參數個數, 就像 %d 這樣的格式說明符。所以如果格式字符串和參數數目不符時, 此類函數會出錯的很厲害。
還有一個常用的技巧, 如果所有的參數是同一個類型, 在參數列最後加一個標 記值。 通常用 0、-1 或適當類型轉換的空指針, 參見問題 5.2 和 15.4 例子中 exec1() 和 vstrcat() 的用法。
最後, 如果類型是可預見的, 你可以加一個參數數目的參數。當然調用者通常是 很不喜歡這種做法的。
參考資料: [PCS, Sec. 11 pp. 167-8]。
翻譯朱群英、孫雲, LaTeX2HTML 編譯 朱群英 (2005-06-23)