int position_of_largest(int * array, int size)
{
int largest, i, largest_i;
i = 0;
largest_i = 0;
while (i < size)
{
if (i == 0)
{
largest = array[0];
largest_i = 0;
}
else
{
if (largest < array[i])
{
largest_i = i;
largest = array[i];
}
i++;
}
}
return largest_i;
}
Этот код должен найти индекс наивысшего элемента в массиве и вернуть его. Существует ошибка сегментации в этом коде, по-видимому, но я не знаю, что это такое! Я много раз просматривал код и не вижу никаких проблем. Я новичок в C, btw (что объясняет многое). Благодарю.Почему эта функция никогда не возвращается? Это ошибка сегментации?
ошибка сегментации при попытке получить доступ к нераспределенному или ипу разрешенного пространства памяти .. я надеюсь, что когда вы вызываете функцию 'position_of_largest (интермедиат * массив, Int размера)' вы отправляете указатель на достаточное пространство памяти (размер * 4 байта) на указатель 'array' – Haris
' Бесконечный цикл'? – BLUEPIXY
Можем ли мы увидеть вызов функции? Кроме того, 'i ++' никогда не выполняется. – Igor