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了?
你不明白的地方在4.8中
在第四章第八课,左侧流程示意图中。
我知道你问的是 while 循环,你把 for 弄明白了就明白这个了。
for(i=1;i<=100;i++)
表达式一。i=1 给 i 一个初值 1 。
表达式二。i<=100 . 判断语句,是否满足结束条件。
表达式三。 i ++ ,每次循环 i 的变量。
判断表达式一是否满足表达式二,成立执行代码块,再改变变量 i 的值,再用表达式二进行判断。
在cfree中运行虽然是一样的,如果把i++移动到下边。但是用调试模式仔细观察,如问题中写法,第一次sum=2。
而如果i++写在flag*=-1*flag下边,第一次sum=1?求指教?