VC++6.0运行程序停止工作!

VC++6.0运行程序停止工作!,第1张

这个是你程序问题,不是编译通过程序就是对的,最著名的就是指针的段错误,编译通过,运行报错的。 举个简单的例子 #include int main() { int a[2]; a[2]=10; } 这个程序就是你遇到的情况,可以运行试试!数组越界了。

1·老式程序(黑屏),Ctrl+C停止

2·直接右上角X掉

3·任务管理器,强制关闭进程。

当然,如果程序里面停止,只需要在你的while里面加上:if(){break;}

我认为是代码的问题。

我用的也是vc6,中文绿色版,Win7,64位的系统。从来没出现由于软件不兼容导致程序停止运行的问题。

用该VC60编过小程序,也编过一个程序几千行的代码,有出现过某某exe已停止工作的问题。

从来都是代码的问题。

有可能是读写了非法内存。有可能是控件(比如窗口之类的),信号之类的。

中文版本并不妨事儿,没有中文路径就和英文的一样了。

(以上个人观点,仅供参考。)

这个时候就要用调试,来解决问题,只要调试运行到报错的位置,就可以知道是哪段代码有问题了。你用的是QT还是VC?如果是VC,Ctrl+F10是运行到光标处。F9是设置断点。

如果是QT,左边有个Debug按钮,就是那只虫,点击,即可。

#include <stdioh>

#include <mathh>

int main(void)

{

    double a[3],s,area,perimeter;

    int i;

    printf("Please enter three sides of a triangle in sequence:\n");

    // 数组下标是从0开始的

    // for(i=1;i<=3;i++){

    for(i=0; i<3; i++){

        scanf("%lf",&a[i]);

    }

    //if((a[1]+a[2]>a[3])&&(a[2]+a[3]>a[1])&&(a[1]+a[3]>a[2])){

    //    s=(a[1]+a[2]+a[3])/2;

    //    area=pow(s(s-a[1])(s-a[2])(s-a[3]),05);

    //    perimeter=a[1]+a[2]+a[3];

    if((a[0]+a[1]>a[2])&&(a[1]+a[2]>a[0])&&(a[0]+a[2]>a[1])){

        s=(a[1]+a[2]+a[0])/2;

        area=pow(s(s-a[1])(s-a[2])(s-a[0]),05);

        perimeter=a[1]+a[2]+a[0];

        printf("The area is %2f\nThe perimeter is %2f\n",area,perimeter);

    }

    else{

        printf("These sides don't correspond to a valid triangle!\n");

    }

    return 0;

}

运行结果:

要在Debug的时候才可以的,你可以先在你想要停止的地方按F9设置一个 断点 然后按F5开始调试,当程序运行到你设置断点的地方就会自动停止运行,你可能观察当时各变量的值,查出某些问题!

以上就是关于VC++6.0运行程序停止工作!全部的内容,包括:VC++6.0运行程序停止工作!、在vc++中运行程序,但是程序停不下来怎么办有什么手动的方法控制让它停止么、用visualc++写c语言程序,编译通过,执行时软件停止工作,为什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10141694.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存