总是出Segmentation fault (core dumped)的错误,请大家帮我看看,什么地方的问题?
gyhs 2003-10-08 09:13:42 multi_connect()
{
...
}
struct tester_t{
char *name;
int (*handler)(char *argv,int port);
} ;
struct tester_t test_1[10] = {
{ "multi-connect",multi_connect},
{"...",...},
{...}
...
};
struct tester_t *find(char *argv)
{
int i;
for(i=0;i<10;i++) {
if(strcmp(argv,test_1[i].name)==0) {
return &test_1[i]; /* found */
}
}
return NULL;
}
int scanport()
{
...
tester->handler(argv,PORT);
}
int main(int argc,char **argv)
{
struct tester_t *c;
if (argc<2) {
printf("please input the function's name\n");
exit(1);
}
c=find(argv[2]);
if(c==NULL)
printf("Don't find the function\n");
else
return scanport(argv[1],c);
}
这个程序通过输入的第一个命令行参数指定IP地址,SCAN()扫描此IP地址的端口
然后通过第二个命令行参数指定要调用的函数名,通过结构体中的函数指针调用该函数.
我觉得没有错误,编译以通过,可是运行就出现
Segmentation fault (core dumped)。
请教各位高手,我这个程序到底在什么地方出现问题,感谢!!!