относительно:
int funcex2(int arrayr , int num) {
это недопустимая подпись для вызываемой функции.
Помимо прочего, ссылка на имя массива ухудшается до адреса первого байта массива.
Подпись должна быть:
int funcex2(int arrayr[] , int num) {
или, чуть менее описательный:
int funcex2(int *arrayr , int num) {
относительно:
arrayr[i] + arrayr[i++] = sum;
Это чепуха. Элемент в левой части оператора '=' должен быть 'L-значением', а переменная sum
не была инициализирована, поэтому результатом является неопределенное поведение