2
我做了一個簡單的程序來證明一個正確的triange,然後我用pow
函數來多重輸入like;比較c中的2個值總是返回false
if(pow(c,2) == (pow(a,2) + pow(b,2))){
printf("True.");
}else{
printf("False.");
}
然後我進入了價值a = 3, b = 4, c = 5
,它應該是真實的,因爲25 == 25
但它返回一個錯誤,
,但如果我的代碼改成這樣:
if((c*c) == ((a*a) + (b*b))){
printf("True.");
}else{
printf("False.");
}
結果是真的
nb:input is a double
對此錯誤的任何解釋?謝謝
你對'a = 3,b = 4,c = 5'的第一個例子向我打印出'True'... –
關於這個問題有幾十個問題和答案。搜索浮點比較。 –
oke謝謝你,對不起,因爲我不知道關鍵字@RetiredNinja – Mamen