柠檬试题库
search
首页 计算机 公务员 驾照 关于

有以下程序: #include main() {  int c=0,k;   for (k=1;k<3;k++)     switch (k)     { default: c+=k; case 2: c++;break; case 4: c+=2;break;     }   printf("%d\n",c); } 程序运行后的输出结果是(  )。


  • A.7
  • B.5
  • C.3
  • D.9
热度🔥1,697
参考答案:C
解析:

【解析】向switch语句块传送参数后,编译器会先寻找匹配的case语句块,找到后就执行该语句块,遇到break跳出;如果没有匹配的语句块,则执行default语句块。case与default没有顺序之分。所以第一次循环k的值为1,执行c+=k,c的值为1,再执行case 2 后的语句c++,c的值为2,遇到break语句跳出循环;第二次循环k的值为2,执行case 2 后面的语句c++,c的值为3,跳出循环。
复制题目向AI提问