关于switch-case问题
生活随笔
收集整理的這篇文章主要介紹了
关于switch-case问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?? 上兩天做了一個簡單的switch的題目,竟然做錯了
題目如下:
int main()
{
?? int k = 5,n = 0;
?? do
?? {
??? switch(k)
??? {
??? case 1:case 3:n+=1;break;
??? default:?n = 0;k--;
??? case 2:case 4:n+=2;k--;break;
??? }
??? cout<<n;
?? } while (k>0&&n<5);
}
我開始的結果就是0234,但實際結果是2345;
我錯的原因就是如果沒找到匹配項就只想default的執行但沒有執行default后面的case語句。
switch的執行流程是如果有匹配的case就從那點開始一直往下執行,一直到遇到break或到switch結束;
如果沒有case匹配又沒有default就跳出switch;
如果沒有case匹配但又有default就要從default那一點開始執行一直到break或結束switch
?
轉載于:https://www.cnblogs.com/self-control/archive/2012/11/09/article.html
總結
以上是生活随笔為你收集整理的关于switch-case问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 0 开场白元素项类的设计
- 下一篇: ANF