残念终成殇 2021-12-08 20:16 采纳率: 66.7%
浏览 46
已结题

在求for循环时遇到问题,求解!

有以下程序
main()
{ int s,i;
for(s=0,i=1;i<3;i++,s+=i);
printf(“%d\n",s);
}
s、i的初值分别为0和1,判断循环条件,表达式“1<3”成立,执行“i++,s+=i”后,i和s的值分别为2和1,继续判断循环条件,表达式“2<3”成立,执行“i++,s+=j”后,i和s的值分别为3和3,再次判断循环条件,表达式“3<3”不成立,循环结束。
问题来了,输出结果为什么是5?

  • 写回答

1条回答 默认 最新

  • CSDN专家-link 2021-12-08 20:21
    关注

    你的理解有点错误。i++,s+=i是循环结束再执行。所以循环第一遍执行完后,才执行表达式i++,s+=i,这个表达式先执行i++,执行完后i=2,然后s+=i,这样s就是2。第二次循环同样执行完后才执行表达式i++,s+=i,执行完后i=3,s+=3,s=2+3=5

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月16日
  • 已采纳回答 12月8日
  • 创建了问题 12月8日

悬赏问题

  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化