Вы используете функцию numberSwap
в выражении, которое ожидает int
(то есть как параметр для printf
), но тип возвращаемого значения функции - void
.Вот что вызывает ошибку.
Вам просто нужно вызвать функцию в выражении отдельно.Когда он вернется, x
и y
будут обновлены, поэтому вы можете распечатать их затем.
printf("before swap: %d and %d", x, y);
numberSwap(&x, &y);
printf("after swap: %d and %d", x, y);
У вас также есть проблема здесь:
scanf("%d%d", x, y);
КакСпецификатор формата %d
для scanf
ожидает int *
, но вы передаете int
.Вам нужно передать адреса x
и y
:
scanf("%d%d", &x, &y);