求助,插补判别F 怎样定义数据类型?
时间:10-02
整理:3721RD
点击:
插补程序,x1 y1 x2 y2分别为起终点坐标;Xe Ye是起终点之间的横纵坐标差;N为插补步数
F是判别结果,默认为0
关于F,Xe,Ye,N;该怎么定义数据类型
尤其是F,我试了char int 和long 都不对
void Line(uint x1,uint y1,uint x2,uint y2)
{
uint Xe,Ye,N;
signed long F;
if(x1<=x2) {Xe=x2-x1;xfang=0;}
else {Xe=x1-x2;xfang=1;}
if(y1<=y2) {Ye=y2-y1;yfang=0;}
else {Ye=y1-y2;yfang=1;}
N=Xe+Ye;
while (N!=0)
{
if (F>=0)
{
xmove();
F=F-Ye;
}
else
{
ymove();
F=F+Xe;
}
N--;
}
}
F是判别结果,默认为0
关于F,Xe,Ye,N;该怎么定义数据类型
尤其是F,我试了char int 和long 都不对
void Line(uint x1,uint y1,uint x2,uint y2)
{
uint Xe,Ye,N;
signed long F;
if(x1<=x2) {Xe=x2-x1;xfang=0;}
else {Xe=x1-x2;xfang=1;}
if(y1<=y2) {Ye=y2-y1;yfang=0;}
else {Ye=y1-y2;yfang=1;}
N=Xe+Ye;
while (N!=0)
{
if (F>=0)
{
xmove();
F=F-Ye;
}
else
{
ymove();
F=F+Xe;
}
N--;
}
}
有人吗有人吗有人吗有人吗有人吗有人吗有人吗?
什么叫数据类型不对呀?
就是 我在用keil仿真时,其他数据一切正常,一到Xe Ye F这就出错了,数值在watch窗口显示全是问号
F连初值都没看见,XeYe应该也是uint吧
我自己摸索出来了,还是谢谢你