小说中国西部大案:关于vc编程的问题

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/03 01:16:15
调试正常,运行时也出现了结果,且结果正确。但出现了一个窗口“*.exe出现问题即将关闭,对此给你带来的不便表示抱歉...”,使怎么回事。

准确地说你的程序出现“运行时错误“。运行时错误包括前面回答者所说的内存错误,还包括很多其它。比如说被零除等。所有的运行时错误都有一个特点,即计算机不可能再继续正常运行下去。
给你一个简单的例子来模拟运行时错误的出现:

int main(int argc, char* argv[])
{
int i = 0;
// 下面一行代码产生被零除“运行时错误”
// 计算机在这儿会“迷惑”,到底应该给变量j何值
int j = 100 / i;

// 或者使用无效指针
char* myBuffer = 0;
// 计算机在这儿会"迷惑“,地址零是系统不允许访问的,计算机不知道该怎么办了,好,干脆拒绝执行
*myBuffer = 'A';

// 数组越界
char myArray[100];
myArray[200] = 'A';

// 可能产生“运行时错误“的代码还有很多很多
return 0;
}
以上程序编译应该可以通过,但会产生运行时错误

出现这种问题应该是内存分配的原因,也许是你在使用数组的时候越界了,或者是释放没有分配内存的指针。