#include"stdlib.h"
#define NMEMB 50
#define SIZE 10
#include <string.h>
int compar (const void *a,const void *b)
{
return (strcmp((char *) a, (char *) b))
}
int main()
{
char data[NMEMB][SIZE]={"Linux","freebsd","solzris","sunos","windows"}
char key[80],*base,*offset
int nmemb= 5,size=SIZE
fgets(key,sizeof(key)/sizeof(key[0]),stdin)
key[strlen(key)-1]='\0'
base = data[0]
offset = (char *)bsearch(key,base,nmemb,size,compar)
if(offset ==NULL)
{
printf("%s not found!\n",key)
}
else
{
printf("found : %s \n",offset)
}
}
在的所在.c文件的目录中在终端里面敲
1. ulimit -c unlimited
2. 在用gcc编译时,在最后加上-g
3. 运行一次错误代码,出现段错误后, 目录中有一个core文件
4. 运行:gdb ./a.out core
会自动帮你找出可能出错的代码,出现段错误一般都是越界了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)