C言語の激難クイズです。
これは、純粋な知識を問う問題。
C言語の開発経験が長い方でも、ほとんど解答できないと思います^^)
問題
コンパイルが通って実行可能な、最短コードを答えましょう。
解答
はい皆さ~~ん、↓のコードに注目~~^^;)
int main[] = {0xc3};
上記コードは、#include なんかもつけないで、
これだけでコンパイル・実行できてしまいます! ガビーン∑( ̄Д ̄;)
(あらビックリ。まさにトリッキー)
※VC++2005では、CコンパイラのみOK。
C++コンパイラの場合、「外部シンボル_mainは未解決です。」とリンクエラー。
もし、これ以上 短いコードをご存知の方はおしえてください♪
追記:
コードの長さは全然長いですが、これと似たような「トリッキーなコード」を発見しました。
short main[] = {
277, 04735, -4129, 25, 0, 477, 1019, 0xbef, 0, 12800,
-113, 21119, 0x52d7, -1006, -7151, 0, 0x4bc, 020004,
14880, 10541, 2056, 04010, 4548, 3044, -6716, 0x9,
4407, 6, 5568, 1, -30460, 0, 0x9, 5570, 512, -30419,
0x7e82, 0760, 6, 0, 4, 02400, 15, 0, 4, 1280, 4, 0,
4, 0, 0, 0, 0x8, 0, 4, 0, ',', 0, 12, 0, 4, 0, '#',
0, 020, 0, 4, 0, 30, 0, 026, 0, 0x6176, 120, 25712,
'p', 072163, 'r', 29303, 29801, 'e'
};
第一回IOCCCに登場したコードなのですが、Vax-11かPDP-11のマシンじゃないと動かないんだそうです。
(でも、コンパイルして実行ファイルを作成するだけなら、x86マシン上でもできましたYO^^;)
C言語クイズ2(激難) へ続きます。