下面程序运行时输入5,4则对应的输出结果是 D 。
int sum(int k )
{static int y=0;int i;
for(i=1;i<=k;i++)y+=i;
return y;
}
main()
{ int m,n;
scanf(“%d,%d”,&m,&n);
printf(“%d\n”,sum(m)+sum(n));
}
(61) A、54 B、0 C、40 D、50
麻烦给出详细解答步骤
这道C语言题怎么解?
答案:2 悬赏:80 手机版
解决时间 2021-06-09 13:10
- 提问者网友:抽煙菂渘情少年
- 2021-06-08 22:21
最佳答案
- 五星知识达人网友:一把行者刀
- 2021-06-08 23:12
提醒楼主一下scanf里面输入的时候不加逗号,
int sum(int k )
{static int y=0;int i;
for(i=1;i<=k;i++)y+=i;
return y;
}
这个函数里面y是静态变量, 调用结束不释放内存的
这句printf(“%d\n”,sum(m)+sum(n));
先执行sum(m), 也就是sum(5) = 15
此时y=15不会改变, 因为是static静态变量
然后执行sun(n), 也就是sum(4);循环里面执行4次, 第一次y+=15+1=16;第二次是+2=18,
第三次是+3=21, 第四次是+4=25
和刚才和结果15一起就是40
结果是选择C
运行截图你看
全部回答
- 1楼网友:零点过十分
- 2021-06-09 00:04
static int y=5;
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯