代码编译没错,运行出现Process exited after 7.745 seconds with return value 3221225477

想要编写一个程序来验证算法是否正确,通过一定程度的简化后程序编译没有问题,但是运行后输入数值会显示Process exited after 7.745 seconds with return value 3221225477,有没有能帮忙解决一下


#include
#include
#include
int main()
{
 
    int time1,time2,time3,time4;
    float a1,b1,a2,b2,m1,m2,n1,n2,a,b,x,y;
    int et1,et2;
    scanf("%d,%d,%d,%d",&time1,&time2,&time3,time4);
    et1=abs(time1-time2);
    et2=abs(time3-time4);
    a1=et1*34000*0.5/pow(10,6);
    b1=sqrt(pow(50,2)-pow(a1,2));
    a2=et2*34000*0.5/pow(10,6);
    b2=sqrt(pow(50,2)-pow(a2,2));
    m1=pow(a1,2);
    m2=pow(a2,2);
    n1=pow(b1,2);
    n2=pow(b2,2);
    a=m1*n2;
    b=m2*n1;
    y=((-100*m2)*n1+sqrt(10000*pow(m2,2)*pow(n1,2)-4*(b-a)*(2500*b-a*n1+b*n2)))/(2*(b-a));
    x=sqrt((m1*n1+m1*pow(y,2))/n1);
    printf("%f,%f\n",x,y);
    return 0;
}

程序返回值不为0,说明问题出在其他地方。例如此处的 scanf:

scanf("%d,%d,%d,%d",&time1,&time2,&time3,time4);

应该改为:

scanf("%d,%d,%d,%d",&time1,&time2,&time3,&time4);

原因为跨界访问内存吧。