>>464-465
パターンBは、初心者に教えるときに向いている。
ifとelseが対等だから、それぞれの場合を考えやすい。

パターンAは、ifでやろうとしていることが例外的なことならスマート。
無駄な一時変数も要らない。
しかし、こうなるとちょっとキモイ。

■ パターンA’
int hoge(int data)
{
  if (data != 0) {
    return data + 1;
  }
  return 0
}

それに対して、こっちはいたって自然。

■ パターンB’
int hoge(int data) {
  int ret;
  if (data != 0) {
    ret = data + 1;
  } else {
    ret = 0;
  }
  return ret;
}