![]() |
發(fā)布時間: 2013-6-28 14:49
正文摘要:請大神看看這段代碼問題在哪里呢? switch(key_mode) { case 0: // _nop_; // _nop_; if(!key_add) Vset1++; if(! ... |
如果需要在case里定義變量要加{} |
看出錯原因說是switc的表達式類型不對,也就是key-mode,你可以定位到出錯行,170行 |
注意switch括號中的數(shù)據(jù)類型,還有case條件句的執(zhí)行代碼,需要使用大括號括起來或者使用TAB鍵進行縮進 |
說實話 我也沒見過 switch 語句 像你這么寫的 |
問題出在key_mode上,不過里面至少每個加上括號以及default |
key_mode的數(shù)據(jù)類型改為unsigned char型,不可以使用bit型。 |
電腦出錯,我碰到過怎么弄都不行。復(fù)制編譯通過的別的程序中的大括號就行了。 |
說實話 我也沒見過 switch 語句 像你這么寫的 |
key_mode是什么數(shù)據(jù)類型? |
加入default及break后呢?、Tset定義為什么?、 |
我也是這個毛病。 不好用 |
ahshmj 發(fā)表于 2013-6-28 20:35 我加入大括號還是提示相同的問題啊 這是什么原因呢? |
好像不行啊 我加入了大括號還是不行啊。怎么回事呢 |
本帖最后由 ahshmj 于 2013-6-28 20:37 編輯 要使用大括號。 case 0: { // _nop_; // _nop_; if(!key_add) Vset1++; if(!key_sub) Vset1--; Iset=(float)Vset1/1000; break; } |
Powered by 單片機教程網(wǎng)