① 請問單片機大師們,以下這段程序特別是switch語句哪裡有問題啊謝謝了!
case(0):
{suzu=shuzu[0];a=0;}break;
case 後面的語句超過1句就要加括弧,你這每個case都要加
而且 case後的數字不能帶括弧 case 0:{XXXX語句};break;
② C語言關於SWITCH語句的跳轉問題
因為你用getchar()來從緩沖區取得用戶輸入,getchar()函數是在用戶按下回車鍵時從輸入緩沖區取一個字元,而且用戶按下的回車鍵也會進入到輸入緩沖區!
所以當你輸入『H』按下回車時,while循環執行兩次,第一次讀到『H』,正常運行,第二次讀到一個回車符,執行default的代碼。
在while循環中的 switch(ch) 上面加一句 fflush(stdin); 就正常了。
依據個人經驗調試分析,純手打,望採納。
③ 單片機流水燈用switch語句,燈不亮,程序哪裡錯了求大佬們講解。
首先Kay裡面,按鍵抬起檢測是while(Key==0);不要無休止的i++;造成狀態不確定
其次,A1() A2()等都是死循環,進去就出不來了
還有dat2就沒用
④ 單片機C語言switch語句相關問題
1)你要討論的是
嗎?
2)你想得到雙鍵或者多鍵同時輸入的效果是不;
⑤ C語言關於SWITCH語句跳轉問題
case'1':
rate=8.75;
case'2':
rate=9.33;
case'3':
rate=10.00;
case'4':
rate=11.20;
default:
printf("Youshouldinputanumberfrom1to4! ");
printf("Pleaseenteranothernumber: ");
數字 1 不等於 '1'、'2'、'3'、'4' 中的任何一個,當然會跳到 default 後面
⑥ 51單片機switch語句報錯問題,12864DISPLAY.C(754): warning C291: not every exit path returns a value
這是告訴你 如果你的 LunarMonth 范圍不在 1--13之內,則函數就沒有返回值了,你看看,你在 1--13的時候,都有返回,可是,如果 LunarMonth 跑出了 這個范圍怎麼辦,所以給你個警告
所以
加一句:
default:
return(1); //---或者 return(0) 看你的程序決定
break;
順便告訴你,這不是51單片機的問題,是C語言的問題
⑦ c語言switch問題/單片機
首先告訴你,這不是一個循環程序!使用switch只是相當於if ....else.... 程序是判斷wenum的值,wenum的值是0,1,2,3,4,5中的一個。當wenum=0時執行case 0:後面語句遇到break就跳出!,後面的依次類推。 如果是在單片機中,循環一般是在while(1)中來完成的,整個switch應該是循環體中的一部分你的s++也應該是在一個循環語句中實現的,或者在定時器中斷中實現。總之要保證s++反復執行!
⑧ 單片機switch的問題
兩個程序還是有區別的,因為第一個有讀取鍵值的過程,第二個沒有,直接根據P1口的值來確定燈的亮滅。
你說的報錯是因為把「break」寫成了「braek」,所以報錯了。
⑨ 單片機switch case問題
flag 需要有初值,例如,0 時間,1日期,沒按 -9。
事件處理以後,flag 要清除成 沒按 -9。這樣就可以用於 反復檢查事件 和 處理事件。
另,改正拼寫 default:
⑩ 單片機 switch語句的問題:我編寫的程序在break之後不跳出switch語句。急!
應該是編譯器優化掉了,你改成
volatile uint PWM_Value1[6]=....
volatile uchar order1;
然後試試,可以看看keil編譯出來的匯編代碼。