永发信息网

一道简单的C语言switch case题目

答案:4  悬赏:40  手机版
解决时间 2021-03-12 19:39
50822) 以下程序的运行结果是( )。
void main( )
{int k=5;
switch(k)
{default:
printf("%d",k);
case 1:
printf("%d",k);
break;
case 2:
printf("%d",2*k);
case 3:
printf("%d",3*k);
break;
}
}
(A) 55 (B) 5 (C) 10 (D) 15
答案 还有求解释
最佳答案
选A!这道题非常刁钻。实际应用中不会如此乱写。以下是解释:swich首先会从上至下依次判断case是否与k相同,本题中没有符合的case项,所以会执行default中的内容(输出5),由于题中default中没有break,所以程序继续运行。它会再次依次执行每个case中的内容(注意是依次执行,并且不判断case是否符合)直到遇到break。于是首先执行case 1,输出一个5,最后遇到case 1里面的break。整段swich退出。输出结果是55
全部回答
A(const A& rhs)是rhs为A的引用 类A的成员 num 被赋值为rhs.num 整句话的意思是构造拷贝构造函数。 B(A&a):obj(a),A(1){}调用拷贝构造函数进行初始化
输出为55. switch原理:根据k值进入相应的case(或default),然后一直往后执行,直到遇到break,或者所有语句执行完。 详细过程: 首先进入default(因为其他case都与k不相等,所以进入default):打印一个5. 另外,由于default没有break;,所以继续往后走,执行case 1中的printf,再次打印一个5 遇到case 1中的break,退出该switch. 结束。
#include void main() {double r,p1,p2; int a,b; printf("请输入本金和存款年限:"); scanf("%d,%d",&a,&b); switch(b){ case 1:r=0.0198;break; case 2:r=0.0215;break; case 3:r=0.0225;break; case 5:r=0.0245;break; case 8:r=0.0265;break; default:; } p1=a*r; p2=a+p1; printf("利息:%lf\n",p1); printf("利息与本金合计:%lf\n",p2); }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
家里的台式机开机时莫名其妙会有什么用户名、
沙发打样要学习多久,????能带我吗
tableau cognos 哪个贵
制造各种饮料中所用的水是什么水啊,跟纯净水
自动挡挂档是一档一档的挂还是一次性挂到位
别人欠我一万块钱赖账不还没有借条有信息证据
上海交大的思想政治教育专业?
求以魔兽为背景的BL网游小说
手机麦克风有什么用
安庆铜陵池州合肥芜湖哪个更繁华
帮忙查澳洲到中国的快递
同学借钱是不是进传销了啊
单位不交了,个人续保,能享受原来有的生育险
我想问下,齐国那个六字刀币上的文字,是什么
何为 天地法则,宇宙大道?
推荐资讯
东方明珠怎么拼
本人的工作志愿怎么写
微信英文怎么发音
螃蟹和泥鳅能一起吃吗
中国最好吃的元宵是什么牌子的什么元宵?
连云港沙光鱼干怎么吃
逃逸现代音乐艺术中心怎么去啊,有知道地址的
z196次列车时刻表
为什么汽车表面油漆从侧面看好像不平有皱纹的
连续几天拉稀要怎么办
乐U新天地(北门)这个地址在什么地方,我要处
王春丽口腔诊所在什么地方啊,我要过去处理事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?