📄 search.c
字号:
#include <stdlib.h>#include <stdio.h>#include <string.h>/* Define an array of critters to sort. */struct critter { const char *name; const char *species; };struct critter muppets[] = { {"Kermit", "frog"}, {"Piggy", "pig"}, {"Gonzo", "whatever"}, {"Fozzie", "bear"}, {"Sam", "eagle"}, {"Robin", "frog"}, {"Animal", "animal"}, {"Camilla", "chicken"}, {"Sweetums", "monster"}, {"Dr. Strangepork", "pig"}, {"Link Hogthrob", "pig"}, {"Zoot", "human"}, {"Dr. Bunsen Honeydew", "human"}, {"Beaker", "human"}, {"Swedish Chef", "human"} };int count = sizeof (muppets) / sizeof (struct critter);/* This is the comparison function used for sorting and searching. */int critter_cmp (const struct critter *c1, const struct critter *c2){ return strcmp (c1->name, c2->name);}/* Print information about a critter. */void print_critter (const struct critter *c){ printf ("%s, the %s\n", c->name, c->species);}/*@group*//* Do the lookup into the sorted array. */void find_critter (const char *name){ struct critter target, *result; target.name = name; result = bsearch (&target, muppets, count, sizeof (struct critter), critter_cmp); if (result) print_critter (result); else printf ("Couldn't find %s.\n", name);}/*@end group*//* Main program. */intmain (void){ int i; for (i = 0; i < count; i++) print_critter (&muppets[i]); printf ("\n"); qsort (muppets, count, sizeof (struct critter), critter_cmp); for (i = 0; i < count; i++) print_critter (&muppets[i]); printf ("\n"); find_critter ("Kermit"); find_critter ("Gonzo"); find_critter ("Janice"); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -