temp
- указатель.То, что вы хотите, это int
, чтобы принять значение того, на что указывает a
.Вам нужно изменить temp
на int
.
void swap(int *a, int *b)
{
int temp;
temp = *a;
*a = *b;
*b = *temp;
}
Возможно, вы захотите следовать нескольким учебникам на C, чтобы понять, как работают указатели.В ответе о переполнении стека есть много объяснений с помощью множества ресурсов, доступных онлайн и в книгах.