您的位置:首页 > 编程语言 > C语言/C++

错误总结:C/C++运行时提示".exe已停止工作"? 调试时出现Program received signal SIGSEGV,Segmentation fault?引用无效内存一般是什么错误?

2017-10-11 22:39 1181 查看

C/C++运行时提示”.exe已停止工作”?

最近编的一些程序,编译时没有显示错误,但是运行的过程中输入测试样例后,系统就会弹出窗口显示“.exe已停止工作”。在网上找错误原因,主要有两种可能,一是编译器和系统本身的问题,二是代码本身有编译器未检测出的错误。

是不是第一种原因导致错误很容易检测,再编写一个“Hello world”这样的简单的程序,看看运行时是否会有同样的错误,如果有那可能就要检查编译器和系统了。

如果简单的程序运行成功,那就是第二种原因了,这也是可能性更大的一种。面对这种情况,应该从头开始分步调试,找出具体是哪一步有错误,哪种错误。

调试时出现Program received signal SIGSEGV,Segmentation fault.

运行时出现“.exe已停止工作”后,我分步调试时遇到了这样的错误提示“Program received signal SIGSEGV,Segmentation fault.

”。经过学习,我发现产生这种错误一般有两种可能。一是段错误,这种错误比较高端,入门阶段应该不会遇到。二是有无效内存引用,这种对于我这种渣渣初学者可能性更大。

引用无效内存一般是什么错误?

1.数组越界。

2.内存未分配成功,却使用。

3.内存分配成功,但未初始化。

4.使用了已经释放了的内存。

然而我最后发现自己犯得是最弱智低级的错误,跟以上都无关。

输入时scanf(“%d”,&a);

我忘了写&!!!

我忘了写&!!!

我忘了写&!!!

实在是太傻了QAQ
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐