Screw performance. Do the thing that makes the code readable. You optimize only when the program isn't fast enough and profiling has shown you where the slow parts are.
In King Mir's example, you have one function doing two very different things (getting the product of an array and getting elementwise sums of two arrays), so using two loops, and two separate functions in fact, is better. And while you're at it, get rid of those loops entirely and use algorithms.
Code:
int product(int array[], int size) {
return std::accumulate(array, array+size, 1, std::multiplies<int>());
}
void sum_elements(int input1[], int input2[], int output[], int size) {
std::transform(input1, input1+size, input2, output, std::plus<int>());
}