📄 search.c.texi
字号:
#include <stdlib.h>#include <stdio.h>#include <string.h>/* @r{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);/* @r{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);@}/* @r{Print information about a critter.} */void print_critter (const struct critter *c)@{ printf ("%s, the %s\n", c->name, c->species);@}@group/* @r{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/* @r{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 + -