[語法] if判斷條件與double的(新手)問題
最近初學程式,有些問題百思不得其解,
還請大大們解惑,謝謝。
(1) 請問 if 判斷條件放運算式或是資料型態上是不是有所限制?
以下面兩個程式碼為例,
第一個程式碼即使 multi 與 pow(n,((double)num)/2) 相等也會印出不相等
但是在第二個程式碼用另一個變數暫存 pow(n,((double)num)/2) 運算結果,
就可以印出相等結果,請問這是什麼原因呢?
第一個程式碼:
if(multi == pow(n,((double)num)/2))
printf("相等 \n");
else
printf("不相等 \n");
第二個程式碼
double temp = pow(n,((double)num)/2);
if(multi == temp)
printf("相等 \n");
else
printf("不相等 \n");
PS: multi 型態為 double、num 型態為 int
===============================================================
(2)
double num;
printf("Please enter one number > ");
scanf("%f",&num);
printf("num = %f \n",num);
請問為什麼輸入任一非零浮點數,例如 25.123,
印出來的卻都是 0.000000 ?
但若將 num 宣告成 float 就沒有問題,這到底是什麼原因呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.133.18.7
推
05/03 18:37, , 1F
05/03 18:37, 1F
→
05/03 18:38, , 2F
05/03 18:38, 2F
→
05/03 18:40, , 3F
05/03 18:40, 3F
→
05/03 18:50, , 4F
05/03 18:50, 4F
→
05/03 18:56, , 5F
05/03 18:56, 5F
推
05/03 19:03, , 6F
05/03 19:03, 6F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章
18
34