bsearch.c

来自「C_C++程序员实用大全(精华版)源代码 代码详实 一步一步深入 适合各阶段」· C语言 代码 · 共 44 行

C
44
字号
#include <stdlib.h>
#include <stdio.h>

int compare_int(int *a, int *b)
 {
   return(*a - *b);
 }

int compare_float(float *a, float *b)
 {
   return((*a == *b) ? 0: 1);
 }


void main(void)
 {
   int int_values[] = {1, 3, 2, 4, 5}; 
   float float_values[] = {1.1, 3.3, 2.2, 4.4, 5.5};  
   
   int *int_ptr, int_value = 2, elements = 5;
   float *float_ptr, float_value = 33.3;

   int_ptr = (int *) bsearch(&int_value, int_values, 
      elements, sizeof(int), 
      (int (*) (const void *, const void *)) compare_int);

   if (int_ptr)
     printf("Value %d found\n", int_value);
   else 
     printf("Value %d not found\n", int_value);

   float_ptr = (float *) bsearch(&float_value, float_values, 
     elements, sizeof(float), 
     (int (*) (const void *, const void *)) compare_float);
   
   
   if (float_ptr)
     printf("Value %3.1f found\n", float_value);
   else 
     printf("Value %3.1f not found\n", float_value);

 }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?