我写了如下程序,在LINUX环境下运行,但是老报segmentation fault的错误,不知是为何?

来源:百度知道 编辑:UC知道 时间:2024/05/21 12:06:35
main()
{
......

short int olt_id=1;

......

PON_test_module(olt_id)
{
short int device_id=1;
short int llid=1;
oam_olt_self_set(const short int olt_id);
<1>
oam_test_mode_set(const short int olt_id,const short int device_id);
<2>
oam_link_test(const short int olt_id,const short int llid);
<3>
oam_ping_test(const short int olt_id,const short int llid);
<4>
return (EXIT_OK);
}
...........

}
其中,<1><2><3><4>表示每个子函数的内容。
但我把程序改为如下,就能正常运行。
main()
{
......

short int olt_id=1;

......

short int device_id=1;
short int llid=1;
<1>
<2>
<3>
<4>
...........
}
请问是什么原因,对错误的程序应该做什么修改。

segmatation fault这句英文的意思是“段错误”。
是你使用了不允许使用的内存而产生的错误。

至于原因多种多样,linux下大部分抱错都是段错误。

可惜不懂编程哦,是用C编的还是用什么语言编的都看不出来。楼主可教我吗?