У меня есть функция, которая должна изменить значение, объявленное и определенное в main.Внутри функции аргумент передачи по ссылке должен увеличиваться при каждом сравнении.Функция объявлена так:
int binSearch (int arr[], int size, int target, int * numComparisons) { ...
(*numComparisons)++; }
В рамках функции это выполняется.Однако после завершения функции значение numComparisons фактически не изменяется.Я написал выражение printf для вывода значения numComparisons на каждой итерации цикла, и оно работает должным образом (выводит 1, 2 и т. Д.), Однако после запуска функции переменная, переданная в качестве аргумента binSearch, остается назначение, которое я инициализировал.В чем моя проблема?
(в основном)
printf("%d, %d\n", binSearch(testArray, 100, 75, numCompAddress), numCompTest);
// this returns the index and the incorrect value of numComparisons