我很難理解的文章Cast the return value of a function that returns a floating point type投射返回一個浮點類型的函數的返回值
(1)在
轉換彷彿被分配給該函數的類型是必需的如果返回表達式的類型與該函數的類型不同,但如果返回表達式的值較寬,則僅因爲廣泛的評估。
什麼是「廣泛評估」?它試圖說什麼?
(2)在本例中
float f(float x) {
return x * 0.1f;
}
float g(float x) {
return x * 0.1;
}
爲什麼「函數f允許比浮子返回一個值更寬,但函數g(它使用更寬的常數)不爲」?
在f(),x和0.1f都是浮點型,所以我認爲x * 0.1f也是浮點型?在g()中,0.1可能被認爲是double,所以x * 0.1是雙精度型?什麼是文章的道德?
感謝和問候!
氣味像功課 – JonH 2010-02-15 20:42:05
@JonH:我很懷疑安全編碼的限制正在做功課....聽起來就像是試圖跟上進度找工作。 – 2010-02-15 20:43:28
這聽起來不像功課。誰在正確的思想在教室裏教C語言的瘋狂特性?這是真實的世界! – 2010-02-15 20:44:24