配列の要素数が未記述の場合の動作
以前、PPCGで以下の問題を回答しました。
Make a “Ceeeeeeee” program
char x[];i;m(char*v,c){for(x[i]=*v;*v;)*++v-c?printf("%s%s\n",x,v):(x[++i]=c);}
実行結果:
Make a "Ceeeeeeee" program
, e
:
Make a "Ceeeeeeee" program
Mke a "Ceeeeeeee" program
Me a "Ceeeeeeee" program
Mea "Ceeeeeeee" program
Me "Ceeeeeeee" program
Me"Ceeeeeeee" program
MeCeeeeeeee" program
Meeeeeeeee" program
Meeeeeeeee program
Meeeeeeeeeprogram
Meeeeeeeeerogram
Meeeeeeeeeogram
Meeeeeeeeegram
Meeeeeeeeeram
Meeeeeeeeeam
Meeeeeeeeem
Meeeeeeeee
配列の要素数が無い(未記述)の場合でも、正しい結果を出せてしまうのか不思議です。
これは一体何故なのか、ご存知の方ご教授を宜しくお願いします。