我的变量总是变成零

My variable always becomes a zero

本文关键字:变量 我的      更新时间:2023-10-16

我的C++代码有问题,我对毕达哥拉斯做了两个步骤。

在做毕达哥拉斯函数的同时,我得到了a和b的长度,但我的变量总是等于0,即使X和Y点显示出它们各自的值。

不幸的是,当对结果进行平方根运算时,会出现一个错误,因为你不能对0进行平方根。

它看起来有点复杂,但这是我能得到的最整洁的

hypPrevious = ( 
                ( *(previousCalcp->getX()) - *(currentCalcp->getX()) ) 
                *   
                ( *(previousCalcp->getX()) - *(currentCalcp->getX()) )
              ) 
              +
              ( 
                ( *(currentCalcp->getY()) - *(previousCalcp->getY()) ) 
                *   
                ( *(currentCalcp->getY()) - *(previousCalcp->getY()) )
              );

根据您给我们的信息,我能给您的最好建议是重写代码并添加调试行来检查出了什么问题:

int x1 = *(previousCalcp->getX());
int y1 = *(previousCalcp->getY())
int x2 = *(currentCalcp->getX());
int y2 = *(currentCalcp->getY());
int dx = x1 - x2;
int dy = y1 - y2;
hypPrevious = dx*dx + dy*dy;
std::cout << "(" << x1 << "," << y1 << ") and (" << x2 << "," << y2 << ") resulted in " << hypPrevious << std::endl;

不要忘记将类型int更改为代码中使用的任何类型。