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

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

你可能感兴趣的:(错误总结)