作业帮 > 综合 > 作业

main() { int k=5,n=0; while(k>0) { switch(k) { default :brea

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/06/07 07:13:22
main() { int k=5,n=0; while(k>0) { switch(k) { default :break; case 1 :n+=k; case 2 :case 3 :n+
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);
}
我想知道 结果 7 是怎么算出来的.到底什么顺序?break 还是按CASE123执行下去?.
main() { int k=5,n=0; while(k>0) { switch(k) { default :brea
第一次循环:k=5,进入switch,由于没有相应case,故跳出循环,k减1=4.
第二次循环:k=4,进入switch,由于没有相应case,故跳出循环,k减1=3.
第三次循环:k=3,进入switch,符合case3,执行n=n+k;n为3,k减1=2.
第四次循环:k=2,进入switch,符合case2,没有语句;n为3,k减1=1.
第五次循环:k=1,进入switch,符合case1,执行n=n+k;n为4,没有break跳出语句,执行case3,n为7.