0;}これを先ほどと同様にコンパイルしてみます。^~~~こちらは期待していた通り「引数が多すぎる」というエラーが出ます。書かないのと書いておくのではこのような挙動の違い、すなわち関数の呼び出しの時に引数がチェックされるか否かという違いがでます。前者では呼び出し時に引数の数がチェックされません。引数が渡されていてもエラーになりません。一方で、後者では呼び出し時に引数のチェックが行われます。その結果、上に示したようなエラーが出てコンパイルに失敗します。書いておくのがベターです。書くことが推奨されているようです。指定するちなみに『プログラミング言語C』(いわゆるK&R)の第二版の中では以下のように書かれています。古いCプログラムとの互換性のために互換性のために、標準規格では、空にリストは旧式の宣言として扱い、引数リストのチェックは一切やらないことになっている。(p.41)また、以下のようにも書かれています。引数については何も仮定しないものと受け取られ、すべてのパラメータ・チェック機能はオフにされる。空の引数リストが許される特別な理由は、古いCプログラムを新しいコンパイラでコンパイルできるようにすることにある。新しいプログラムでこれを使うのはよくない。関数に引数があるのなら、それは宣言すべきである。