猿问

不知道这道题怎么计算

#include<stdio.h>

void main()

{

int k=5,n=0;

while(k>0)

{

switch(k)

{

default:break;

case 1:n+=k;

case 2:

case 3:n+=k;

}

k--;

}

printf("%d\n",n);

}



珊姐最伟大
浏览 1288回答 1
1回答

guozhchun

k = 5, k > 0进入循环,switch语句执行default:break, 结束switch,执行k--k = 4, k > 0进入循环,switch语句执行default:break, 结束switch,执行k--k = 3, k > 0进入循环,switch语句执行case3: n += k, n 的值变为 3,结束switch, 执行k--k = 2, k > 0进入循环,switch语句执行case2:case3: n += k, n 的值变为 5,结束switch,执行k--k = 1, k > 0进入循环,switch语句执行case1: n += k,n 的值变为 6,此时没有遇到break语句,继续向下执行,n += k 将 n 的值变为 7,结束switch,执行 k--k = 0, 结束循环执行printf语句输出 n 的值为 7
随时随地看视频慕课网APP
我要回答