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
答案 还有求解释
一道简单的C语言switch case题目
答案:4 悬赏:40 手机版
解决时间 2021-03-12 19:39
- 提问者网友:我是女神我骄傲
- 2021-03-12 09:17
最佳答案
- 五星知识达人网友:雪起风沙痕
- 2021-03-12 09:54
选A!这道题非常刁钻。实际应用中不会如此乱写。以下是解释:swich首先会从上至下依次判断case是否与k相同,本题中没有符合的case项,所以会执行default中的内容(输出5),由于题中default中没有break,所以程序继续运行。它会再次依次执行每个case中的内容(注意是依次执行,并且不判断case是否符合)直到遇到break。于是首先执行case 1,输出一个5,最后遇到case 1里面的break。整段swich退出。输出结果是55
全部回答
- 1楼网友:一把行者刀
- 2021-03-12 12:22
A(const A& rhs)是rhs为A的引用 类A的成员 num 被赋值为rhs.num 整句话的意思是构造拷贝构造函数。
B(A&a):obj(a),A(1){}调用拷贝构造函数进行初始化
- 2楼网友:酒者煙囻
- 2021-03-12 11:38
输出为55.
switch原理:根据k值进入相应的case(或default),然后一直往后执行,直到遇到break,或者所有语句执行完。
详细过程:
首先进入default(因为其他case都与k不相等,所以进入default):打印一个5.
另外,由于default没有break;,所以继续往后走,执行case 1中的printf,再次打印一个5
遇到case 1中的break,退出该switch.
结束。
- 3楼网友:鱼忧
- 2021-03-12 10:15
#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);
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯