この関数の目的
printf()は、標準出力にフォーマットされた文字列を出力する。
定義
#include <stdio.h> int printf(const char *format, ...);
働き
この関数は第一引数に stdout を指定した fprintf() と等価である。
返り値は、出力した文字数である。エラーが発生した場合、負の数を返す。
解説
format の書き方は fprintf() を参照のこと。
言わずと知れた初心者の友であるが、少しクセのある関数なので、いきなり落とし穴にはまる人も多い。
まず、この関数は可変長引数関数 (Variable argument) と呼ばれる特殊な関数である。
この種の関数は宣言の引数リストの最後に「...
」がついているもので、ここから後はどんな型のいくつの変数であろうと渡すことができる。
しかし、渡される側はどんな型のいくつの変数が渡されたかを直接知る手段はない。
関数は format に渡される文字列を元に、これらの引数の数と型を知る。
よって、 format の文字列と実引数リストが食い違っていてはいけない。
可変長引数関数については、 <stdarg.h> を参照されたい。