永发信息网

C语言 for(k=1;k<4;k++) for(k=1;k<3;k++) 以上两种情况的运行结果,稍作解释,谢谢。

答案:2  悬赏:0  手机版
解决时间 2021-02-12 07:31
  • 提问者网友:那叫心脏的地方装的都是你
  • 2021-02-11 21:33
# include
main()
{
int c=0,k;
for(k=1;k<4;k++)
switch(k)
{
default: c+=k;
case 2: c++;break;
case 4: c+=2;break;
}
printf("%d\n",c);
}
最佳答案
  • 五星知识达人网友:雾月
  • 2021-02-11 22:42
k = 1 switch执行 default: c+=k; 因为default后无break继续执行c++; 后c = 2
k = 2 switch执行 case 2: c++;break; 后c = 3
k = 3 switch执行 default: c+=k; 因为default后无break继续执行c++; 后c = 7;

for(k=1;k<4;k++) 要执行k = 1 2 3,所以最后c = 7
for(k=1;k<3;k++) 要执行k = 1 2 ,所以最后c = 3
全部回答
  • 1楼网友:由着我着迷
  • 2021-02-12 00:02
首先k=2,进入第一层循环,s=1,接着j=k=2,开始第二层循环,由于在第一层循环中,每次s都被重新赋值为1,因此无需考虑这次循环s的值,直接考虑进入下一次循环,这时由于执行了k++,k++语句,所以k=4进入第一层循环,于是j=k=4开始对s赋值,s=1+4+5=10,这时j=6,退出第二层循环,接着执行第一层循环的k++,k++语句,于是k=6,不满足循环条件,因此退出循环,所以s=10
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯