出现程序出现访问违规。 但是我找不出哪里出界了
#include <stdio.h>#include <stdlib.h>
#include <math.h>
int main()
{
double s,a,v,t,r,PI=3.1415;
double r1,t1,v1,v2,s1,s2,c=0,b,f;
printf("qingshuru s,a,v,t,r\n");
scanf("%lf,%lf,%lf,%lf,%lf");
if(s>0 && t>0)
{
v1=v*sin(a*PI/180);
v2=v*cos(a*PI/180);
t1=2*v1/20;
if(a==90)
{
s2=v*t;
b=s2*s2+s*s;
r1=sqrt(b);
if(r1<=r)
{
c=1;
}
}
else
{
if(t1>=t)
{
s1=v2*t;
t1/=2;
if(t>t1)
{
s2=v1*v1/20;
b=10*(t-t1)*(t-t1);
s2 -=b;
f=s1-s;
r1=sqrt(s2*s2+f*f);
if(r1<=r)
{
c=1;
}
}
else
{
s2=v1*t-10*t*t;
s1=s1-s;
b=s2*s2+s1*s1;
r1=sqrt(b);
if(r1<=r)
{
c=1;
}
}
}
else
{
s1=v2*t1;
s1-=s;
if(s1<=r)
{
c=1;
}
}
}
if(c==1)
{
printf("nice\n");
}
else
{
printf("T^T\n");
}
}
else
{
printf("error\n");
}
system("PAUSE");
return 0;
}
麻烦也和我说一下栈内存出界的处理方法吧