问答详情
源自:4-10 循环结构之三种循环比较

关于4.10答案中while和i++

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了?

提问者:蜀山妖道 2016-08-09 01:21

个回答

  • 我改名字了
    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-09 01:38:14

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

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