このコードは次のように記述されている必要があります。
char *apple = "Apple";
for(i = 0; apple[i++];)
printf("Banana");
オリジナルに投稿されたコードよりも明確であるだけでなく、それが何をするのかを確認することもより明確です。しかし、これは「Cで物事を書くことがどれほど奇妙なことか見てください」から来たと思います。Cで可能なことはたくさんありますが、それは素晴らしいアイデアではありません。
自分で夕食を提供する目的で、頭の上の温かい食べ物のバランスをとることを学ぶことも可能です。それは特に素晴らしいアイデアにはなりません-あなたが手と足を持っていない限り、私は推測します...;)
編集:これが間違っていることを除いて...同等のものは:
char *apple = "Apple";
for(i = 0; apple+i++ != NULL;)
printf("Banana");
64ビットマシンでは、これにはしばらく時間がかかります。妥当な時間(/ dev / nullに出力を送信)で終了したら、更新します。私のマシン(AMD 3.4GHz Phenom II)では約3分かかります。