#include <stdio.h>main(){ int c=0,k;for (k=1;k<3;k++)switch (k){default: c+=kcase 2: c++;break;case 4: c+=2;break;}printf(“%d\n”,c);}求程序结果
2 回答

守着一只汪
TA贡献1872条经验 获得超4个赞
结果是3
因为进入循环for(k = 1; k < 3; k++)
首先k = 1,执行switch(1),后面的case没有1,则执行default语句后面的c+=k ,之后c = 1;
该语句后面没有break,则继续执行case 2:后面的c++,之后c = 2,再往后遇到break结束。
再者k = 2,执行switch(2),有case 2,就执行其后的c++,所以c = 3,再往后遇到break退出。
k = 3时不满足for循环的判断条件,退出for循环
之后输出c的结果3

拉莫斯之舞
TA贡献1820条经验 获得超10个赞
程序结果是3.
第一次运行k=1,default c=1;注意没有break,继续执行c++,此时c=2;
第二次运行k=2,case 2:c++;此时c=3;
- 2 回答
- 0 关注
- 173 浏览
添加回答
举报
0/150
提交
取消