C не поддерживает передачу по ссылке. Поэтому вам нужно будет использовать указатели, чтобы делать то, что вы пытаетесь достичь:
void swap(int *first, int *second){
int temp = *first;
*first = *second;
*second = temp;
}
int a=3,b=2;
swap(&a,&b);
Я НЕ рекомендую это: Но я добавлю это для полноты.
Вы можете использовать макрос, если ваши параметры не имеют побочных эффектов.
#define swap(a,b){ \
int _temp = (a); \
(a) = _b; \
(b) = _temp; \
}