关于4.10答案中while和i++

来源:4-10 循环结构之三种循环比较

蜀山妖道

2016-08-09 01:21

4.10答案中,while体中语句是这样:

while (i<=100) 

i++;                       //这里i=2了????

sum=sum+i*flag;  //那么这里的i=????

flag=(-1)*flag;}

请问一进入循环体 i++ 就是i=i+1,,那不是等于2了?这样第一次循环就是从2开始加的啊?不是从1开始了,而且flag=(-1)*flag,再次进入就是-3了?

写回答 关注

2回答

  • 我改名字了
    2016-08-10 09:51:41
    已采纳

    你不明白的地方在4.8中

    在第四章第八课,左侧流程示意图中。

    我知道你问的是 while 循环,你把 for 弄明白了就明白这个了。

    for(i=1;i<=100;i++)

    表达式一。i=1  给 i 一个初值 1 。

    表达式二。i<=100 .  判断语句,是否满足结束条件。

    表达式三。 i ++    ,每次循环 i 的变量。

    判断表达式一是否满足表达式二,成立执行代码块,再改变变量 i 的值,再用表达式二进行判断。

    我改名字了

    看本题问答为“给的前两个参考代码是不是有问题”标题中。 看最下边我给的两组函数和第二页,对你本题很有帮助。

    2016-08-14 18:37:37

    共 2 条回复 >

  • 蜀山妖道
    2016-08-09 01:38:14

    在cfree中运行虽然是一样的,如果把i++移动到下边。但是用调试模式仔细观察,如问题中写法,第一次sum=2。

    而如果i++写在flag*=-1*flag下边,第一次sum=1?求指教?

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926207 学习 · 20797 问题

查看课程

相似问题