Например
int f(int a) {
...
return a > 10;
}
считается приемлемым (не легальным, я имею в виду, это "хороший код" ) или всегда должен быть в условном выражении, например,
int f(int a) {
...
if (a > 10)
return 1;
else
return 0;
}