BoBaH26, функция обеспечивает универсальность. Вариант alex способен проверять не только степень тройки именно благодаря тому, что он выполнен в виде функции. Кстати, в C/C++ вызов функции обходится достаточно дёшево, так что не смертельно. Вы слышали про рекурсивные алгоритмы?
К тому же всегда можно "посоветовать" компилятору сделать функцию встраиваемой, добавив inline перед её заголовком.