課程
/后端開發
/C
/Linux C語言結構體
難道就沒人看出來老師舉的例子有問題?用普通函數計算10.0+10.5的時候老師用的int,結果能不錯嗎?用宏計算10.5+20.0的時候,老師用的是float,這樣算出來當然不可能錯。
2016-07-09
源自:Linux C語言結構體 2-3
正在回答
例子并沒有問題,就算你把變量c前面的類型改成浮點型,算出來的結果也還是錯誤的,因為參數在被傳遞給add函數的時候就已經經過一次強制類型轉換了,老師舉這個例子只是表達在宏函數中不對數據類型有強制要求。
我也覺得最后一個例子看不懂,應該把float改成int才能說明問題
普通函數計算:add(10.5+5)=15.000000
宏計算:ADD(a10.5+5)=15.500000
這怎么能拿出來做對比來說明宏的優勢
舉報
C語言的深入,幫助小伙伴們進一步的理解C語言,趕緊看過來
2 回答關于malloc
1 回答關于打印地址
2 回答關于struct的定義
6 回答覺得有錯?。。?/p>
1 回答關于malloc函數的應用
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-10-26
例子并沒有問題,就算你把變量c前面的類型改成浮點型,算出來的結果也還是錯誤的,因為參數在被傳遞給add函數的時候就已經經過一次強制類型轉換了,老師舉這個例子只是表達在宏函數中不對數據類型有強制要求。
2016-08-13
我也覺得最后一個例子看不懂,應該把float改成int才能說明問題
2016-08-08
普通函數計算:add(10.5+5)=15.000000
宏計算:ADD(a10.5+5)=15.500000
2016-07-09
這怎么能拿出來做對比來說明宏的優勢