[英]casting integer division into double in C
為什么代碼
double slope = (double)changeY/changeZ
將斜率設置為0.0,當我在程序中有changeX = 20和changeY = 10(均為整數)時?
聽起來您使用的是錯誤的變量。 嘗試這個:
int changeX = 20;
int changeY = 10;
double slope = (double)changeY/changeX;
強制轉換運算符()的優先級高於/。 該表達式將被評估為:
changeY
轉換為double
。 changeX
隱式轉換為double
。 如果一個操作數為double
,則另一個操作數也將平衡為double
(這正式稱為“通常的算術轉換”)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.