20180530
(1)若有以下程序
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #include<stdio.h> main() {? ????int s=0,n; ????for(n=0; n<4; n++) ????{ ????????switch(n) ????????{ ???????????default:s+=4; ???????????case 1:s+=1; ???????????case 2:s+=2; ???????????case 3:s+=3; ????????} ????} ????printf ("%d\n",s); } |
則程序的輸出結果是?
6 18 10 24答案:D 錯選:A
在switch-case語句中,多個case可以共用一條執行語句,如:?
case 常量表達式1:?
case 常量表達式2:?
case 常量表達式3:?
語句;?
break;?
由此可以看出case語句的作用:
case后面的常量表達式實際上只起語句標號作用,而不起條件判斷作用,即“只是開始執行處的入口標號”。
因此,一旦與switch后面圓括號中表達式的值匹配,就從此標號處開始執行;
而且執行完一個case后面的語句后,若沒遇到break語句,就自動進入下一個case繼續執行,而不再判斷是否與之匹配,直到遇到break語句才停止執行,退出switch語句。
因此,若想執行一個case分之后立即跳出switch語句,就必須在此分支的最后添加一個break語句。
第1次:s=0+4+1+2+3=10;
第2次:s=10+1+2+3=16;
第3次:s=16+2+3=21;
第4次:s=21+3=24.
轉載于:https://www.cnblogs.com/kxzh/p/9128627.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
- 上一篇: arcgis server 10.4 安
- 下一篇: 课程设计个人报告——基于ARM实验箱的捕