C语言函数中定义大数组耗尽堆栈的问题
今晚上一同学请我帮忙看一个C程序,GCC编译时一直抱错,说是段错误。
程序本身写的比较差,但编译能通过,只是有几十个警告。
两个小时过去了,在Eclipse+GCC下没有找到问题(这个环境还不熟悉),换到了VC下面,逐步调试,才发现问题出在被main调用的一个叫做readmctal()的函数的前面几行中。该函数如下:
程序本身写的比较差,但编译能通过,只是有几十个警告。
两个小时过去了,在Eclipse+GCC下没有找到问题(这个环境还不熟悉),换到了VC下面,逐步调试,才发现问题出在被main调用的一个叫做readmctal()的函数的前面几行中。该函数如下:
- void readmctal(void)
- {
- int number,count,sign,num_tally,nflag;
- int ncell,nstep,mstep,sum;
- char *(str_temp[80]);
- float temp_spectra[num_cell][egroup],temp_error[num_cell][egroup];
- float temp_flux[num_cell],temp_flux_error[num_cell];
- int total_cell_no[num_cell];
- sum=0;
- number=0;
- /* open the mctal file */
- if ((fpt_mc=fopen("mctal","r"))==NULL){
- printf("/nERROR - Cannot open mctal file/n");
- exit(1);
- }
- else
- {
- printf("File mctal opened.../n");
- }
- ......
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: Nginx 反向代理https
- 下一篇: c问题---关于数组溢出的思考
copyright © 2008-2019 亿联网络 版权所有 备案号:粤ICP备14031511号-2