int hoge(int a) {
// ...
if (a == 0) { return 1; }
// ...
if (a == 2) { return 1; }
// ...
return 2;
}

というのと

int hoge(int a) {
int r = 1;
do {
// ...
if (a == 0) { break; }
// ...
if (a == 2) { break; }
// ...
r = 2;
} while (0);
return r;
}

というのとどっちがいいですか?