char i;
for(i=0;i<16;i++)
printf("%c","asdf"[i]);
i=1;
if("123"[i]==1)
i=1;
if("456"[4]==1)
i=1;
if("789"[1]==1)
i=1;
出力は次のとおりです。
asdf 123 456
ほとんどの「文字列」は、メモリ内で互いに直接並んでいるようです。これはランダムではないと思いますか?さらに、最初ではない char-access-expression (ここでは asdf[i]) で i の代わりに int 変数を使用すると、プログラムが失敗します。例: if("123"[j]==1)
誰かが私にそれを説明できますか?