如下程序,求解c语言结果,请问是什么?

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

SMILET
浏览 174回答 2
2回答

守着一只汪

结果是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

拉莫斯之舞

程序结果是3.第一次运行k=1,default c=1;注意没有break,继续执行c++,此时c=2;第二次运行k=2,case 2:c++;此时c=3;
打开App,查看更多内容
随时随地看视频慕课网APP