回覆列表
  • 1 # 使用者3121593517121

    C 中,省略號引數裡能塞所有能傳值的型別。有一些型別會在傳遞時提升。

    Variadic arguments

    但就實現而言,把引數傳給省略號時,不會自動保持表示引數原本型別的資訊。省略號引數更近似於無型別。實現這些函式時,若要取出原本傳遞的引數,則要依靠 <stdarg.h> 中的宏,以及在別處提供或約定好的型別資訊。

    printf/scanf 系列的函式只能接受一定型別的引數,見:

    scanf, fscanf, sscanf, scanf_s, fscanf_s, sscanf_s

    printf, fprintf, sprintf, snprintf, printf_s, fprintf_s, sprintf_s, snprintf_s

    傳其他型別引數是未定義行為,編譯器可能不診斷。有條件的話把警告開足,如

    -Wall -Wextra -pedantic-errors

    [Wandbox]三へ( へ՞ਊ ՞)へ ハッハッ

  • 中秋節和大豐收的關聯?
  • 帶人工合成的玉有什麼好處?