为什么代码
double slope = (double)changeY/changeZ
将斜率设置为0.0,当我在程序中时,更改X = 20并更改Y = 10(两个整数)?
答案 0 :(得分:8)
听起来你正在使用错误的变量。试试这个:
int changeX = 20;
int changeY = 10;
double slope = (double)changeY/changeX;
强制转换运算符()的优先级高于/。该表达式将被评估为:
changeY
投放到double
。changeX
隐式转换为double
。如果一个操作数是double
,那么另一个操作数也会平衡到double
(这正式称为“通常的算术转换”)。