eugira » 02 июл 2007, 16:13
почему такая программа
double diff(double x1[3],double x2[3],double v[3])
{
v[0]=x2[0]-x1[0];
v[1]=x2[1]-x1[1];
v[2]=x2[2]-x1[2];
}
int main(int argc, char* argv[])
{
double w1[3],w2[3];
double v0[3]={26000004.12,15,-1};
double v1[3]={1,-67889799.13456,2888899};
double y[3]={0,10000,0};
diff(v0,y,w2);
diff(v0,v1,w1);
return 0;
}
валится при повторном вызове diff?
Вроде стандартный способ передачи массивов
Не помогает замена double diff(double *x1,double *x2,double *v)
Адресовать массив как известно, можно по вызову имени
почему такая программа
double diff(double x1[3],double x2[3],double v[3])
{
v[0]=x2[0]-x1[0];
v[1]=x2[1]-x1[1];
v[2]=x2[2]-x1[2];
}
int main(int argc, char* argv[])
{
double w1[3],w2[3];
double v0[3]={26000004.12,15,-1};
double v1[3]={1,-67889799.13456,2888899};
double y[3]={0,10000,0};
diff(v0,y,w2);
diff(v0,v1,w1);
return 0;
}
валится при повторном вызове diff?
Вроде стандартный способ передачи массивов
Не помогает замена double diff(double *x1,double *x2,double *v)
Адресовать массив как известно, можно по вызову имени