为什么编译正确的c++程序在运行时会停止工作

编译是正确的,但是在运行时候出现错误,是在WIN32控制台

编译只是保证没有语法错误,但是不能保证你的程序的算法没有错误,如果你的程序中有比较严重的Bug,如果说访问了系统保护的内存,出于保护,windows会中止你的程序,或是抛出一个异常,如果异常没有被捕获并加以处理,程序也会中止,当然,这时你也有机会用调试工具去debug。这种运行期的错误是需要程序员去调试排除的。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-24
运行错误(RE)与编译错误(CE)是两类错误,编译错误,是程序语法错误,类似于忘记打分号或是括号;运行错误 ,是指程序在运行过程中出现错误 ,只能说是程序存在一定的边界bug或是存在非法指令。像非法调用内存(a[-1]),递归爆栈,整数被0除之类的
第2个回答  2013-08-23
编译正确只是表示程序已经没有语法错误了,但是不一定程序的运行就没有问题,比如内存读写错误,死循环之类的都可以导致运行时出错。最好还是把源代码贴出来,如果很小的话。
相似回答