С
return digit;
вы возвращаете указатель на саму функцию digit
.
Переменная di git - это local внутри только l oop.
Возможно, вы хотели, чтобы эта переменная была за пределами l oop, но затем вы должны переименовать ее, чтобы не путать ее с функцией.
Возможно, что-то наподобие
int get_digit(int number, int digit_number)
{
int one_digit = 0;
while(digit_number-- > 0)
{
one_digit = number % 10;
number /= 10;
}
return one_digit;
}
Обратите внимание, что я изменил имена всех символов, надеюсь, теперь они имеют больше смысла, когда их имена описывают, для чего они предназначены.