|
本帖最后由 VBProFan 于 2010-2-4 08:29 编辑
-
- #include<stdlib.h>
- #include<stdio.h>
- #define GetElementCount(arr) (sizeof(arr) / sizeof(arr[0]))
- int numarray[] = {123, 145, 512, 627, 800, 933};
- int numeric (const int *p1, const int *p2)
- {
- return(*p1 - *p2);
- }
- int lookup(int key)
- {
- int *itemptr;
-
- // The cast of (int(*)(const void *,const void*))
- // is needed to avoid a type mismatch error at compile time
-
- itemptr = (int *)bsearch (&key, numarray, GetElementCount(numarray),
- sizeof(int), (int(*)(const void *,const void *))numeric);
- return (itemptr != NULL);
-
- }
- int main(void)
- {
- if (lookup(512))
- {
- printf("512 is in the table.\n");
- }
- else
- {
- printf("512 isn't in the table.\n");
- }
-
- return 0;
- }
复制代码 |
|