【发布时间】:2010-12-26 02:29:30
【问题描述】:
编辑:澄清。
- fout 是一个文件*。 (我认为这无关紧要,因为该行清楚地编译)
- 最后几行上面有很多代码;我想我可以把它们都扔掉,但我想你对调试我的东西并不太感兴趣。通常,我更感兴趣的是在返回 0 时可能发生的段错误,但之前不会发生。
警告:我的 C 很糟糕。
我有一个 C 程序,就像它一样,它只是 想要 出现段错误。其他不相关的细节我就不说了,但这是大局:
我的代码:
//...other code
printf("finished \n");
fclose(fout);
printf("after fclose \n");
return 0;
输出:
完成
关闭后
分段错误
我正在使用 GCC 进行编译,-std=c99。
我的问题:
这怎么可能?我应该看什么,这可能导致这个(看似随机的)段错误?有什么想法吗?
非常感谢!
【问题讨论】:
-
那些“细节”并非“无关紧要”。
-
fout是什么?有人给它分配了stdout吗? -
你知道,如果你以两个空格结束一行,它会在下一行之前添加一个强制换行符,如果你缩进一个有四个空格的文本块,它会预先格式化它。
标签: c segmentation-fault