以下程式利用函數 bsearch() 搜尋字串 test1 及 test2 的第一個字元是否為母音
#include <stdio.h>
#include <stdlib.h>
int cmp(const void *s1, const void *s2);
int main(void)
{
char *vowel = "AEIOUaeiou";
char *test1 = "thesaurus";
char *test2 = "Apple";
char *ptr;
ptr = bsearch(test1, vowel, 10, sizeof(*test1), cmp);
if (ptr) {
printf("%s的第一個字母是母音...\n", test1);
}
else {
printf("%s的第一個字母不是母音...\n", test1);
}
ptr = bsearch(test2, vowel, 10, sizeof(*test2), cmp);
if (ptr) {
printf("%s的第一個字母是母音...\n", test2);
}
else {
printf("%s的第一個字母不是母音...\n", test2);
}
return 0;
}
int cmp(const void *s1, const void *s2)
{
return *(char *)s1 - *(char *)s2;
}
/* 《程式語言教學誌》的範例程式
http://pydoing.blogspot.com/
檔名:cbsearch.c
功能:示範 stdlib.h 中函數 bsearch() 的使用
作者:張凱慶
時間:西元2010年6月 */編譯後執行,結果如下

您可以繼續參考
通用工具 stdlib.h
- double atof(const char *);
- int atoi(const char *);
- double strtod(const char *s, char **r);
- long strtol(const char *s, char **r, int base);
- void *bsearch(const void *key, const void *base, size_t n, size_t size, int (*cmp)(const void *keyval, const void *datum));
- void qsort(void *base, size_t n, size_t size, int (*cmp)(const void *, const void *));
- void *calloc(size_t nobj, size_t size);
- void *malloc(size_t size);
- void *realloc(void *ptr, size_t size);
- void free(void *ptr);
- void abort(void);
- void exit(int);
- int system(const char *s);
- int rand(void);
- void srand(unsigned int seed)
沒有留言:
張貼留言