2

以下のように、自分自身を印刷できるプログラムを見てきました。

main(a){printf(a,34,a="main(a){printf(a,34,a=%c%s%c,34);}",34);}

私の質問は、関数aに型を指定せずに渡すことができるのはなぜですか? 関数の引数がまたは mainであることは知っています。それで、ここでの意味は何ですか?mainvoidargc, argva

4

1 に答える 1

2

これは、C (K&R、C89)の暗黙の int機能です。タイプを省略した場合はint、パーサーによって想定されました。IIRC C99 では廃止とマークされています。また、次のような宣言を書くこともできました

 static foo;   /* static int foo; */
于 2012-09-23T12:02:36.360 に答える