Учись программированию на C++ Builder бесплатно!

Функция


Выполняет линейный поиск.

Синтаксис


#include<stdlib.h>
void *lfind(const void *key, const void *base, size_t *num, size_t width, int(*fcmp)(const void *, const void *));

Прототип


stdlib.h

Описание


Функция lfind производит линейный поиск по значению key в массиве последовательных записей. Она использует определенную пользователем программу сравнения (fcmp). Массив описывается как как содержащий *num записей, каждая шириной width байт. base указывает начало массива.

Возвращаемое значение


Функция lfind возвращает адрес первого, совпадающего с искомым, элемента. Если совпадений не обнаружено, то lfind возвращает NULL. Подпрограмма сравнения должна возвращать 0 если *elem1 == *elem2, и ненулевое значение в противном случае. (elem1 и elem2 это ее параметры).

Переносимость


Функция lfind уникальна для DOS.

Пример


#pragma warn -rpt
#include<stdio.h>
#include<stdlib.h>

int compare(int *x,int *y)
{
  return(*x-*y);
}

int main(void)
{
int array[5] = {35,87,46,99,12};
int key;
int *result;
key = 99;
result = lfind(&key,array,5,sizeof(int),compare);
if(result)
  printf("Число %d найдено",key);
else
  printf("Число %d не найдено",key);
return 0;
}

Поиск по сайту