一個由自增運算符以及C語法順序細節引起的bug

 一、問題描述 在編寫modbus代碼時發生一件由語法細節引起的bug,起因是自增運算符以及C語法順序。 輸入的數據是2233=0X08B9,高低字節順序是0x08 0xB9, 使用modbus poll向92寄存器寫入十進制數據2233. 但是經過(*reg++)*256+(reg++)之後,結果變成了0xB908。 檢查內存也是0xB908. 說明reg_value寫入了錯誤的數。   二、問
相關文章
相關標籤/搜索