>>89
再帰だとシンプルに書けるものはたくさんある。
もちろんスタックオーバーフローには注意が必要だけど、
プログラマの差ってのはこういうところから来るんだと思う。

例えば、テキストファイルの行を逆順に出力する(いわゆるtacコマンド)
を作ろうとすると、再帰だとこんなにシンプル

#include <stdio.h>
void rev()
{
   char buf[1000];
   if(fgets(buf, 1000, stdin) != 0) {
       rev();
       fputs(buf,stdout);
   }
}
main() {
   rev();
}