为了账号安全,请及时绑定邮箱和手机立即绑定

输出的结果和我算的结果不对

输出的结果和我算的结果不对

C
慕仰3175336 2016-08-23 15:35:15
int main(){  int i,j,k,s=0;  for(i=1;i<=5;i++)  {      s=s+1+i;      for(j=1;j<=3;j++)      {          s=s-1-j;          for(k=1;k<=5;k++)          {              s=s+1+k;          }      }  }  printf("%d",s);    return 0;我计算的是28,编译的结果是275,请大神告诉我正确的答案。
查看完整描述

5 回答

已采纳
?
JustWannaHugU

TA贡献452条经验 获得超796个赞

同学,

我不知道你这代码的思路,但是如果按照代码来看结果就是275的

有问题的话继续问

满意点鼠标采纳下谢了

查看完整回答
反对 回复 2016-08-23
  • 慕仰3175336
    慕仰3175336
    就是是不是是k运行了,开始j运行了,k再从新运行一遍,这时k还是1对不对呀。等到j运行完了,i再运行一次,j再从新循环,后面的跟前面的一样,知道i一直循环到6了,j和k这两个子循环才中止,这样是不是k循环了75次,j循环了15次,而i循环了5次。是吧。
  • JustWannaHugU
    JustWannaHugU
    对的啊
  • JustWannaHugU
    JustWannaHugU
    这是嵌套for循环嘛,你理解的没问题呀,怎么会算出来28
点击展开后面4
?
慕哥7534540

TA贡献3条经验 获得超1个赞


s=s+1+k;就走了将近80次,同学你怎么算的,实在不明白打个断点看看

查看完整回答
1 反对 回复 2016-08-23
  • 慕仰3175336
    慕仰3175336
    我是新手,就是我理解的这个k就循环了5次,怎么会运行80次了,求教呀。
?
fighting_dundun

TA贡献4条经验 获得超1个赞

循环套循环再套循环,5*5*5 次循环

查看完整回答
反对 回复 2016-08-23
?
car

TA贡献184条经验 获得超33个赞

你断点调试一下,就清楚了。

查看完整回答
反对 回复 2016-08-23
?
慕哥7534540

TA贡献3条经验 获得超1个赞


275,自己认真读一下代码

查看完整回答
反对 回复 2016-08-23
  • 5 回答
  • 0 关注
  • 1555 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信