各位大神,我最近在做OLED顯示的程式,遇到需要反色顯示的情況,需要加個開關控制是否反色,
原來陳述句是這樣的

我加完開關j后的陳述句是這樣的

可這個陳述句不能正確執行,
我又在main里用同樣的格式寫了這幾句陳述句測驗下,但這樣的陳述句正常執行,如下

同樣的格式,卻結果不一樣,請大神們幫忙看看,指點指點。謝謝了!!
uj5u.com熱心網友回復:
哪里一樣了?你第二個都沒有else,三個if陳述句都會進行判斷。你修改之后的if陳述句判斷條件從一個變成了兩個,容易出錯,比如當(dat&0x80)為假時,也執行了Set操作。
既然是開關,應該是先判斷開關j是否等于0,再判斷dat&0x80是否為0。
uj5u.com熱心網友回復:
else是你上面的判斷不滿足就執行下面假如有6種組合,你的代碼是if(1)執行clr。else(剩下的23456)都執set。然后又來一個if(2)執行clr,else(13456)set,你沒發現你的陳述句里是重復的嗎?uj5u.com熱心網友回復:
要么把j拿出來單獨判斷,不管放外面還是里面都行,要么就直接if else,就不要再加第二個了,這樣就是滿足三個都為1執行,其余都不執行轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/84726.html
標籤:C語言
下一篇:計算兩個日期的天數差(C++)
