Пусть функция должна возвратить два значения целого типа и получить одно значение того же типа. Для этого можно использовать два способа.
Первый способ заключается в использовании глобальной переменной.
Второй способ позволяет возвратить одно значение с помощью оператора return, а другое записать в ячейку памяти с указанным адресом. В последнем случае в функцию необходимо передать адрес ячейки, куда надо поместить значение. Это выполняется с помощью указателя.
Пример. Написать программу, функция в которой будет вычислять квадрат и куб аргумента. (Одно значение будем возвращать из функции оператором return, другое будет записываться по указателю int*.)
# include <stdio.h>
# include <iostream.h>
int fun(int, int*); // прототип функции