>>62
実際に対戦させる人間の事を考えてみれ。現状だと戦略が2つ提示されたとして、
それを対戦させる為の(>>50のmatch()みたいな)コードを1本書かなくてはならない。
1000件を総当たりさせるときの手間はどうなる事やら・・・

まあ、文句をつけるだけなら誰でも出来るって言われそうなので、一応俺も提案してみる。

int StorategyFoo/*ユニークな名前*/(
    int round /* 対戦の順目 */,
    const int self[] /* 自分の前回までの行動履歴(round-1個まで)*/,
    const int enemy[] /* 敵の前回までの行動履歴(round-1個まで)*/ );
返り値: 0:協調 1:裏切り
*履歴は関数を呼び出す側が書き込むものとする

こんなんであれば、とりあえず不満は出ないのでは?

行動履歴の配列をグローバルで result_a とか result_b とかにすると、
関数側では自分はどちらの配列を使えばいいか判断できないからダメダメだと思うが。